我正在尝试使用 preg_match_all() 返回的 $matches 数组突出显示主题字符串。让我从一个例子开始:
preg_match_all("/(.)/", "abc", $matches, PREG_OFFSET_CAPTURE | PREG_SET_ORDER);
这将返回:
Array
(
[0] => Array
(
[0] => Array
(
[0] => a
[1] => 0
)
[1] => Array
(
[0] => a
[1] => 0
)
)
[1] => Array
(
[0] => Array
(
[0] => b
[1] => 1
)
[1] => Array
(
[0] => b
[1] => 1
)
)
[2] => Array
(
[0] => Array
(
[0] => c
[1] => 2
)
[1] => Array
(
[0] => c
[1] => 2
)
)
)
在这种情况下,我想做的是突出显示整体消耗的数据和每个反向引用。
输出应如下所示:
<span class="match0">
<span class="match1">a</span>
</span>
<span class="match0">
<span class="match1">b</span>
</span>
<span class="match0">
<span class="match1">c</span>
</span>
另一个例子:
preg_match_all("/(abc)/", "abc", $matches, PREG_OFFSET_CAPTURE | PREG_SET_ORDER);
应该返回:
<span class="match0"><span class="match1">abc</span></span>
我希望这足够清楚。
我想突出显示整体消费数据并突出显示每个反向引用。
提前致谢。如果有什么不清楚的,请询问。
注意:它不能破坏 html。正则表达式 AND 输入字符串在代码中都是未知的并且是完全动态的。所以搜索字符串可以是 html,匹配的数据可以包含类似 html 的文本,什么不是。