需要使用 PHP 高亮显示重叠文本
我正在寻找突出显示页面上某些文本的方法。在 preg_replace 函数的帮助下,我使用 这是一个示例
来替换找到的文本“这是一个示例”。
当文本重叠时就会出现我的问题。如果我在同一页面上搜索短语“示例文本”,它不会突出显示。我需要突出显示来合并。
任何有关此问题的帮助将不胜感激。
谢谢!
I am looking for means to highlight certain text on a page. I use <span class="highlight">This is a sample</span>
to replace the text "This is a sample" that is found, with the help of the preg_replace function.
My problem arises when there is overlapping text. If I search for the phrase "sample text" on the same page, it is not highlighted. I need the highlighting to merge.
Any help with this problem would be appreciated.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不要替换文本。查找需要突出显示的文本位置,按开头对它们进行排序,并检查该有序列表项中下一项的开头是否与上一项的结尾“重叠”。
文字:
这是示例文本。
0123456789...
要突出显示的项目:
This is
和is a
。我所说的有序列表:
[[0, 7], [5, 9]]
。 5和7“重叠”。Don't replace text. Find positions of texts that need highlighting, sort them by beginnings and check if in that ordered list item's begining of next item "overlaps" ending of previous.
Text:
This is a sample text.
0123456789...
Items to highlight:
This is
andis a
.Ordered list I'm talking about:
[[0, 7], [5, 9]]
. 5 and 7 "ovrelap".据我了解您的需求,我认为您需要拆分所有给您单词的句子,然后您可以单独突出显示它们。
as far as i understand your needs, I think you need to split all sentences giving you words and then you can highlighten them individualy.