Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果在php数组中,如何更改文本的颜色_Php_Regex - Fatal编程技术网

如果在php数组中,如何更改文本的颜色

如果在php数组中,如何更改文本的颜色,php,regex,Php,Regex,我正在使用此代码更改搜索关键字的颜色。但由于从查询中搜索多个单词,我创建了$关键字作为数组。那么现在我如何使用这个呢 <?php echo preg_replace("/\p{L}*?".preg_quote($keyword)."\p{L}*/ui", "<span class='changecoolor'>$0</span>", $row['ti_name']); ?> 要匹配regexp中的多个单词,请使用|分隔它们并将它们放入一个组中 $keywor

我正在使用此代码更改搜索关键字的颜色。但由于从查询中搜索多个单词,我创建了$关键字作为数组。那么现在我如何使用这个呢

<?php echo preg_replace("/\p{L}*?".preg_quote($keyword)."\p{L}*/ui", "<span class='changecoolor'>$0</span>", $row['ti_name']); ?>

要匹配regexp中的多个单词,请使用|分隔它们并将它们放入一个组中

$keyword_regexp = '(?:' . implode('|', array_map('preg_quote', $keyword)) . ')';
echo preg_replace("/\p{L}*?$keyword_regexp\p{L}*/ui", "<span class='changecoolor'>$0</span>", $row['ti_name']);

在数组上迭代的简单方法。其他解决方案使用您的所有文字构建正则表达式我可以构建正则表达式吗?如果我搜索一个单词,它会改变颜色,但如果我搜索多个单词,它不会改变颜色谢谢先生::它Works@bhagwantSingh在那种情况下,你应该接受答案。