日期:2014-05-17  浏览次数:20422 次

正则替换问题 多关键字加亮
PHP code

$k=array("i","n");
$row="iphone";
$row = preg_replace("/($k[0])/i", "<font color=red><b>\\1</b></font>", $row);
$row = preg_replace("/($k[1])/i", "<font color=red><b>\\1</b></font>", $row);
echo $row;
//输出 nt color=red>int>phone
//怎么样才能让关键字也就是$k里面的字母变为红色的?不重复替换?


------解决方案--------------------
PHP code
$k=array("i","n");
$p= join('',$k);
$row="iphone";
echo  preg_replace("/[".$p."]/i", "<font color=red><b>\\0</b></font>", $row);