Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 突出word中的字符,保留大写字母_Php - Fatal编程技术网

Php 突出word中的字符,保留大写字母

Php 突出word中的字符,保留大写字母,php,Php,我试图突出显示一个单词中的某些字符(粗体)。我用相同的字符加上粗体标记替换字符。当我更改第一个字符时,它是小写的。我希望这是资本。但是由于它周围的粗体标记,我不能使用ucfirst()。我让它工作,但我想知道这是否可以做得更容易 来源:测试 至:TesTing <?php $str = 'Testing'; $key = 'T'; $bold = str_ireplace($key , "<b>". $key ."</b>", $str); $allLo

我试图突出显示一个单词中的某些字符(粗体)。我用相同的字符加上粗体标记替换字符
。当我更改第一个字符时,它是小写的。我希望这是资本。但是由于它周围的粗体标记,我不能使用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\u replace
执行此操作:

preg_replace('/t/i', '<b>$0</b>', 'Testing');
preg_replace('/t/i','$0','Testing');
/t/i
末尾的
i
表示不区分大小写的匹配,
$0
表示替换中的匹配模式


希望这有帮助。

我不知道在您的用例中第一个字符是否总是大写,但如果是,您可以使用css
测试
为什么
$allLower=strtolower($bold)