【发布时间】:2016-08-24 10:13:01
【问题描述】:
- 我有很多
arrays包含很多单词。 - 我想对文本中出现的这些词应用
CSS样式 - 一个数组对应一种颜色
- 我只想要整个单词
我有一个str_replace 的例子,它可以工作,但不能考虑整个单词。
$result['avisits']、$result['avisPronoums'] 和 $result['avisWordsUser'] 是包含单词的字符串,"\n" 在数据库中分开。
$result['avis'] 是一个字符串,其中包含我要替换单词的文本
$arr1 = explode("\n", $result['avisits']);
$arr2 = $arr1;
for($i = 0; $i < count($arr1); ++$i) {
$arr1[$i] = "<font color='red'><u>".$arr1[$i]."</u></font>";
}
$avis = str_replace($arr2, $arr1, $result['avis']);
$arr3 = explode("\n", $result['avisPronoums']);
$arr4 = $arr3;
for($i = 0; $i < count($arr3); ++$i) {
$arr3[$i] = "<span style='background:Yellow'>".$arr3[$i]."</span>";
}
$avis2 = str_replace($arr4, $arr3, $avis);
$arr5 = explode("\n", $result['avisWordsUser']);
$arr6 = $arr5;
for($i = 0; $i < count($arr5); ++$i) {
$arr5[$i] = "<span style='background:GreenYellow'>".$arr5[$i]."</span>";
}
$avis3 = str_replace($arr6, $arr5, $avis2);
【问题讨论】:
-
请详细说明
$result['avisits']、$result['avis']、$avis默认值。 -
为什么你必须替换只是做递归循环并在生成输出之前替换单词或给出一个更好的例子输入是什么以及你期望替换什么
标签: php str-replace