突出单词中的字符,保持大写


Highlight characters in word, keep capital

我试图突出显示(粗体)单词中的某些字符。我将该字符替换为相同的字符加上粗体标记<b></b>。当我更改第一个字符时,它是小写的。我希望这是资本。但由于它周围有粗体标记,我不能使用ucfirst()。我已经开始工作了,但我想知道这是否可以更容易地完成?

发件人:测试
至:TesTing

<?php
$str = 'Testing';
$key = 'T';
$bold = str_ireplace($key , "<b>". $key ."</b>", $str);
    $allLower = strtolower($bold);
$arr = str_split($allLower);
if($arr[0] == '<'){
    $arr[3]= ucfirst($arr[3]);
}else{
    $arr[0]= ucfirst($arr[0]);
}
$string = null;
foreach($arr as $value){
    $string .= $value;
}
echo $string;
?>

您可以使用preg_replace:

preg_replace('/t/i', '<b>$0</b>', 'Testing');

/t/i末尾的i表示不区分大小写的匹配,$0表示替换中的匹配模式。

希望这能有所帮助。