Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带或和特殊字符的PHP UC单词_Php_Lowercase - Fatal编程技术网

带或和特殊字符的PHP UC单词

带或和特殊字符的PHP UC单词,php,lowercase,Php,Lowercase,这就是我正在做的 我有两个大写字符串 †你好 白天还是黑夜 因此,要转换它们,我使用以下代码: ucwords(strtolower($string)); 以下是最终结果: †你好 白天还是黑夜 我怎样才能忽略†或任何特殊字符,以便文字能够显示 †你好 我怎样才能保持单词的大小写 试试看: print preg_replace_callback('#([a-zA-ZÄÜÖäüö0-9]+)#',function($a){ return ucfirst(strtolower($a[0]))

这就是我正在做的

我有两个大写字符串

†你好
白天还是黑夜

因此,要转换它们,我使用以下代码:

ucwords(strtolower($string));
以下是最终结果:

†你好
白天还是黑夜

我怎样才能忽略
或任何特殊字符,以便文字能够显示

†你好

我怎样才能保持单词的大小写

试试看:

print preg_replace_callback('#([a-zA-ZÄÜÖäüö0-9]+)#',function($a){
   return ucfirst(strtolower($a[0]));
 },
 '†hello THERE'
);
[a-zA-ZÄÜääö0-9]+
找到一个只有这个字符的单词

您也可以改为使用此
[\w]+
见:

preg\u replace\u回调
对找到的结果调用函数

function($a){}
对结果做一些处理,这里
ucfirst(strtolower())

$lowerString=strtolower($string);
$stringArray=explode($lowerString',);
foreach($stringArray作为$key=>$singleString){
$i=0;
$FormattedString='';
$upcased=假;
对于($i;$i=65&&$ascNum=97&&$ascNum
ucwords(strtolower(†你好”),“†”);
ucwords的第二个参数是an。因此,通过同时包含匕首和空格,ucwords将适用于提供的示例


关于第二个问题,请参见假设单词之间用空格分隔:

<?php
function custom_ucfirst($s)
{
    $s = strtolower($s);

    $e = (strpos($s, ' ') !== false ? explode(' ', $s) : array($s));

    $keep_all_lowercase = array('or','and','but');

    foreach($e as $k=>$v)
    {
        if(!in_array($v, $keep_all_lowercase))
        {
            $str_split = str_split($v);

            foreach($str_split as $k2=>$v2)
            {
                if(in_array($v2, range('a','z')))
                {
                    $str_split[$k2] = strtoupper($v2);
                    break;
                }
            }

            $e[$k] = implode('', $str_split);
        }
    }

    return implode(' ', $e);
}

echo custom_ucfirst('†HELLO THERE .cloud. or sky what a nice an*d ()good day.');

// †Hello There .Cloud. or Sky What A Nice An*d ()Good Day.

你所说的“特殊字符”是什么意思?“é”是一个特殊字符吗?我指的是任何像这样的特殊字符†(在这种情况下)。那么
†你好†那里†如何†你
如何†被输出?很可能是
†你好†那里†如何†你
@KevinDavis运气如何?
<?php
function custom_ucfirst($s)
{
    $s = strtolower($s);

    $e = (strpos($s, ' ') !== false ? explode(' ', $s) : array($s));

    $keep_all_lowercase = array('or','and','but');

    foreach($e as $k=>$v)
    {
        if(!in_array($v, $keep_all_lowercase))
        {
            $str_split = str_split($v);

            foreach($str_split as $k2=>$v2)
            {
                if(in_array($v2, range('a','z')))
                {
                    $str_split[$k2] = strtoupper($v2);
                    break;
                }
            }

            $e[$k] = implode('', $str_split);
        }
    }

    return implode(' ', $e);
}

echo custom_ucfirst('†HELLO THERE .cloud. or sky what a nice an*d ()good day.');

// †Hello There .Cloud. or Sky What A Nice An*d ()Good Day.