如何识别字符串中特定字符的出现,然后以不同的颜色突出显示它以获得更好的可见性,因为字符串很长,我需要在网页上从左到右滚动。它是这样的:
~$ fname=henry&lastname=ford&age=25&dob=11sep86
所以我想&
用不同的颜色突出显示fname
,lastname
用不同的颜色突出显示,以便更容易调试这个字符串。
您可以使用 strpos("&",$str) 查找字符串中出现的符号。我相信还有其他功能会更好地满足您的需求。
为了显示,您可以插入<span>
将定义颜色以将文本转换为的字符串对象:
fname=henry<span class="redText">&</span> ... etc.
使用 str_replace() 非常快速的解决方案:
$string = 'fname=henry&lastname=ford&age=25&dob=11sep86';
echo str_replace('&','<span style="color:orange">&</span>',$string);
您可以将文本拆分为单个单词,然后执行 in_array():
$text = "your & text";
$words = explode(" ", $text);
if(in_array("&") {echo '<span style="color:red">&</span>';}
或者
if (strpos( $text,'&') !== false) {
echo '<span style="color:red">&</span>';
}
您可以使用explode()
:
$string = 'fname=henry&lastname=ford&age=25&dob=11sep86';
$url = explode('&', $string);
$result = '';
foreach($url as $num => $one){
$in = explode('=', $one);
$result .= '<span style="color:green">'.$in[0].'</span>='.$in[1];
if($num < count($url)-1){
$result .= '<span style="color:red">&</span>';
}
}
echo $result;
或者preg_replace()
$string = 'fname=henry&lastname=ford&age=25&dob=11sep86';
$result = preg_replace('/(\w+)=(\w+)/i', '<span style="color:green">$1</span>=$2', $string);
$result = preg_replace('/\&/', '<span style="color:red">&</span>', $result);
echo $result;