将<em> </em>中的第一个字母大写

时间:2012-06-02 09:29:32

标签: php replace capitalize ucfirst

$item = 'some <html> goes <div class="here"> and </div> can be placed <em>     some words</em>, and then more </html> can exist';

如何仅将<em>...</em>内第一个单词的首字母大写?

4 个答案:

答案 0 :(得分:3)

您可以使用regular expression,如下所示:

function replaceStuff($matches){
        return $matches[1].strtoupper($matches[2]);
}

$item=preg_replace_callback("/(<em[^>]*>[^\\w]*)(\\w)/i","replaceStuff",$item);

Read more about using preg_replace_callback

注意:您也可以使用CSS执行此操作;为此,您可以使用以下代码:

em:first-letter {
 text-transform:capitalize;
}

Read more about the text-transform property

答案 1 :(得分:1)

此?

function ucfirstword($str) {
   $estr = explode(" ",$str);
   $estr[0] = ucfirst($estr[0]);
   return implode(" ",$estr);
}

...
echo "<em>     ".ucfirstword("some words")."</em>";

答案 2 :(得分:-1)

如果你只需要这个字符串,你可以这样做

 $item = 'some <html> goes <div class="here"> and </div> can be placed <em>     ';
 $item .= ucfirst("some words");
 $item .= '</em>, and then more </html> can exist';
echo $item;

答案 3 :(得分:-2)

试试这个:

$item = 'some <html> goes <div class="here"> and </div> can be placed <em style="text-transform: uppercase">some</em>, and then more </html> can exist';

也许这有助于你。