我从数据库中选择了一个字符串,我想在''之后更改为初始颜色。示例:rowselected= abcd<efgh>lmno
如何更改efgh的颜色?
我尝试过
<?php between ('<','>',rowselected) echo '<span style="color:red;">' . rowselected . '</span>' ?>
显然无法正常工作,但我正在寻找这样的解决方案
我从数据库中选择了一个字符串,我想在''之后更改为初始颜色。示例:rowselected= abcd<efgh>lmno
如何更改efgh的颜色?
我尝试过
<?php between ('<','>',rowselected) echo '<span style="color:red;">' . rowselected . '</span>' ?>
显然无法正常工作,但我正在寻找这样的解决方案
使用正则表达式来获取字符串上的匹配项然后替换它们的解决方案:
$str = 'abcd<efgh>lmno';
preg_match_all('/<[\S]*?>/m',$str,$matches,PREG_PATTERN_ORDER);
$replacements = $needles = [];
foreach ($matches[0] as $match) {
$needles[] = $match;
$replacements[] = '<span style="color:red;">' . $match . '</span>';
}
echo str_replace($needles,$replacements,$str);
结果:abcd<span style="color:red;"><efgh></span>lmno
您可以简单地将str_replace
应用于<>
符号。像这样
$rowselected = 'abcd<efgh>lmno';
$rowselected = str_replace('<','<<span style="color:red">',$rowselected);
$rowselected = str_replace('>','</span>>',$row);
// result
// "abcd<<span style="color:red"</span>>efgh</span>>lmno"