如何识别字符串中特定字符的出现,然后用不同的颜色突出显示它以获得更好的可见性,因为字符串很长,我需要从左到右滚动网页。它类似于:
~$ fname=henry&lastname=ford&age=25&dob=11sep86
所以我想突出显示不同颜色的&
并突出显示不同颜色的fname
,lastname
,以便更容易调试此字符串。
答案 0 :(得分:2)
您可以使用strpos(“&”,$ str)查找字符串中符号的出现。我确信还有其他功能可以更好地满足您的需求。
对于显示,您可以插入字符串<span>
对象,这些对象将定义颜色以将文本转换为:
fname=henry<span class="redText">&</span> ... etc.
答案 1 :(得分:2)
使用str_replace()非常快速的解决方案:
$string = 'fname=henry&lastname=ford&age=25&dob=11sep86';
echo str_replace('&','<span style="color:orange">&</span>',$string);
答案 2 :(得分:1)
你可以将文本分成单个单词,然后执行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>';
}
答案 3 :(得分:1)
您可以使用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;