0

这是我尝试过的:

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

我想得到:

复古病毒

我正进入(状态:

复古病毒

我不能做任何类似的事情:

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

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

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

4

2 回答 2

1

快速浏览一下 PHP 的文档就提出了这一点

经过简短的测试后,我可以确认,这条线对您的示例有用(不过,我不知道您可能遇到的任何其他具体情况):

$str = '<span class="lsres">retro</span> VIRUS';
echo mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
于 2012-09-26T18:55:54.513 回答
0

你得到retro Virus是因为在 retro( >retro<) 之前和之后没有空格。在 retro 之前添加一个空格或使用ucfirst功能或您在 retro 和 VIRUS 上单独使用过的相同功能。像这样做:

<span class="lsres"><?php echo ucfirst('retro');?></span> <?php echo ucfirst('VIRUS');?>

或者

<span class="lsres"><?php echo ucwords(strtolower('retro'));?></span> <?php echo ucwords(strtolower('VIRUS'));?>
于 2012-09-26T19:14:48.713 回答