这是我试过的:
ucwords(strtolower('<span class="lsres">retro</span> VIRUS'));
我想得到:
Retro Virus
我得到了:
retro Virus
我做不了类似的事情:
sprintf(ucwords(strtolower('%s VIRUS')), ucwords(strtolower('retro')));
由于“复古”部分完全随机发生在单词/句子的开头,中间或末尾。
当然“复古”只是一个样本,在不同的情况下,它可以被其他单词随机替换。
答案 0 :(得分:1)
快速浏览PHP的文档brought this up。
经过短暂的测试后,我可以确认,这一行可以解决你的例子(我不知道你可能会遇到的任何其他具体案例):
$str = '<span class="lsres">retro</span> VIRUS';
echo mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
答案 1 :(得分:0)
您收到retro Virus
因为复古(>retro<
)之前和之后没有空格。在复古之前添加空格或使用ucfirst
函数或在retro和VIRUS上单独使用的相同功能。这样做:
<span class="lsres"><?php echo ucfirst('retro');?></span> <?php echo ucfirst('VIRUS');?>
OR
<span class="lsres"><?php echo ucwords(strtolower('retro'));?></span> <?php echo ucwords(strtolower('VIRUS'));?>