识别一个角色然后在php中突出显示它

时间:2012-09-11 06:11:35

标签: php html css

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

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

所以我想突出显示不同颜色的&并突出显示不同颜色的fnamelastname,以便更容易调试此字符串。

4 个答案:

答案 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;