用标签内的一些单词来大写单词

时间:2012-09-26 18:26:33

标签: php

这是我试过的:

ucwords(strtolower('<span class="lsres">retro</span> VIRUS'));

我想得到:

Retro Virus

我得到了:

retro Virus

我做不了类似的事情:

sprintf(ucwords(strtolower('%s VIRUS')), ucwords(strtolower('retro')));

由于“复古”部分完全随机发生在单词/句子的开头,中间或末尾。

当然“复古”只是一个样本,在不同的情况下,它可以被其他单词随机替换。

2 个答案:

答案 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'));?>