3

如何识别字符串中特定字符的出现,然后以不同的颜色突出显示它以获得更好的可见性,因为字符串很长,我需要在网页上从左到右滚动。它是这样的:

~$ fname=henry&lastname=ford&age=25&dob=11sep86

所以我想&用不同的颜色突出显示fname,lastname用不同的颜色突出显示,以便更容易调试这个字符串。

4

4 回答 4

2

您可以使用 strpos("&",$str) 查找字符串中出现的符号。我相信还有其他功能会更好地满足您的需求。

为了显示,您可以插入<span>将定义颜色以将文本转换为的字符串对象:

fname=henry<span class="redText">&</span> ... etc.
于 2012-09-11T06:16:23.637 回答
2

使用 str_replace() 非常快速的解决方案:

$string = 'fname=henry&lastname=ford&age=25&dob=11sep86';
echo str_replace('&','<span style="color:orange">&</span>',$string);
于 2012-09-11T06:30:00.023 回答
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>';
}
于 2012-09-11T06:22:38.657 回答
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;
于 2012-09-11T06:27:02.613 回答