我试图突出显示(加粗)单词中的某些字符。我用相同的字符和粗体标签<b></b>
替换字符。当我更改第一个字符时,它是小写的。我希望这是资本。但由于它周围的粗体标签我不能使用ucfirst()。我得到了它的工作,但我想知道这是否可以更容易?
来自:测试
收件人: T es t ing
<?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;
?>
答案 0 :(得分:2)
您可以使用preg_replace
执行此操作:
preg_replace('/t/i', '<b>$0</b>', 'Testing');
i
末尾的 /t/i
代表不区分大小写的匹配,而$0
代表替换中的匹配模式。
希望这有帮助。