【发布时间】:2018-02-24 19:24:41
【问题描述】:
此代码属于搜索功能。用户可以输入 $search_string,下面的代码会将 html 放在字符串周围以突出显示它。搜索已扩展为包括多词搜索(如果您搜索“ifs ands”,则只会显示包含这两个词的结果)。
它搜索数组数组,嵌套数组包含我们搜索的字段:概述、过程和验证。然后它会在数组中查找值并突出显示您搜索过的单词。
foreach ($results as $s_result => $row) {
$results[$s_result]['overview'] = str_ireplace($search_string, "<span style=\"background-color: #ff0;\">$search_string</span>", htmlspecialchars($row['overview']));
$results[$s_result]['execution'] = str_ireplace($search_string, "<span style=\"background-color: #ff0;\">$search_string</span>", htmlspecialchars($row['execution']));
$results[$s_result]['verification'] = str_ireplace($search_string, "<span style=\"background-color: #ff0;\">$search_string</span>", htmlspecialchars($row['verification']));
}
无需必须为每个搜索关键字多次遍历数组数组,如何突出显示用户一次输入的多个单词/关键字?可能没有办法,但我不能轻易得出这个结论。
【问题讨论】:
-
你能分享那个数组吗?
-
请稍微解释一下你的问题。
-
我已经编辑了这个问题,希望能更清楚。对于那个很抱歉。 @SahilGulati 你能重新阅读这篇文章并让我知道你是否还需要这个数组吗?
-
@miken32 这更像是一个效率问题。我的代码目前已经进行了搜索和替换。问题是,有没有办法在一次迭代中进行多词搜索和替换。