在php中替换数组中的所有单词

时间:2011-10-11 22:28:08

标签: php search text

我怎样才能找到&突出显示文本中数组中的所有单词?

示例:

$words = array('Test', 'I', 'tHiS', 'diFFerent');

预期结果是: 嗨,这个简单的测试我'想向您展示我们可以替换不同的字词

2 个答案:

答案 0 :(得分:1)

$str = preg_replace("~(".implode("|" , array_map(function($a){
    return preg_quote($a,"~");
},$words)).")~i" , "<strong>$1</strong>" , $str);

你可以尝试

$str = preg_replace("~(".implode("|" , array_map(function($a){
    return '\b'.preg_quote($a,"~").'\b';
},$words)).")~i" , "<strong>$1</strong>" , $str);

指定它应该是完整

答案 1 :(得分:0)

$words = array('Test', 'I', 'tHiS', 'diFFerent');
$str = "Hi, i'm in this simple test I'd like to show you who we can replace different words.";
$str = preg_replace("/(".implode("|" , $words).")/i" , "<b>$1</b>" , $str);
echo $str;

然而,这将突出所有&#34; I&#34;在字符串中。