0

请看一下这段代码(感谢用户 budwiser),它匹配文本中的某个单词并向其广告跨度类:

function highlightWord($word, $text){
    return str_replace($word, '<span class="highlighted">' . $word . '</span>', $text);
}

$text = highlightWord('fitness', $text);

任何想法如何使此代码适用于数组?

我需要这样的东西:

$words = array("fitness", "aerobic", "fashion");

$text = highlightWord($words, $text);

有任何想法吗?

谢谢!

更新

$profile_rule = 'profile LIKE (\'fitness\') AND profile LIKE (\'aerobic\')';
preg_match_all('/\'(.*?)\'/',$profile_rule,$match);

知道为什么 $match 数组不起作用吗?我想从 $profile_rule 中提取健身和有氧这两个词,并将 $match 数组用于上述函数。

泰!

4

1 回答 1

0

这应该可以解决问题。只需遍历单词并添加突出显示代码。

function highlightWords(Array $words, $text)
{
   // Loop through array of words
   foreach($words as $word)
   {
      // Highlight word inside original text
      $text = str_replace($word, '<span class="highlighted">' . $word . '</span>', $text);
   }

   // Return modified text
   return $text;
}
于 2012-05-28T18:25:49.270 回答