如何实现查寻关键词的高亮显示

查寻功能是每个网站都有的基本功能,最简单的实现方法当然就是使用SQL的like操作符来匹配用户输入的关键字。

以一个简单的CMS系统举例,检索栏位可能包括有Title(主题)和Content(内容),具体的SQL语句撰写如下:

   1. SELECT * FROM cms WHERE title LIKE '%{$name}%' OR content LIKE '%{$name}%')";  

SELECT * FROM cms WHERE title LIKE '%{$name}%' OR content LIKE '%{$name}%')";

SQL语句中%xxx%可以检索出任何包含xxx的字符串的主题或内容作为符合条件的资料。如xxx为test,那么test、contest、testable等等都是符合的结果。

现在我们就已经完成了一半的功能,接着如何实现高亮显示呢?其实其中最复杂的是如何做到英文的整词选择,最简单方法当然是使用正则表达式来进行替换。PHP代码撰写如下:

   1. $content = preg_replace("//b(/w*$highlight/w*)/b/",   
   2. "<spanstyle=/"background-color:#369;/">$1</span>" ,   
   3. $content);  

$content = preg_replace("//b(/w*$highlight/w*)/b/", "<spanstyle=/"background-color:#369;/">$1</span>" , $content);

其中正则表达式:/b(/w*test/w*)/b,/b就是来定位整词的,/w代表任意的ascii字符。如需考虑一些符号的情况,如“-”,只需要把/w修改成[/w-]即可。通过以上的正则表达式,我们就可以高亮显示以下的字符串中的关键字了,其中搜索的关键字为test。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据您的列表自动查找并突出显示网页上的单词和短语 - 不需要注册 - 按组和列表组织您的搜索词 - 本地存储的所有数据 - 自动刷新页面重新加载和内容更改的突出显示 - 无限的单词和列表 - 自由 易于使用的Chrome扩展程序,可自动搜索当前浏览器选项卡中定义的单词,并将其标记为文本。可通过设置获得更多高级功能: - 创建颜色编码的关键字列表 - 禁用某些网站的突出显示 - 导出或导入您的设置和关键字列表 - 使用Pastebin中的列表 **在4.2中修正 - 修正了与Pastebin同步列表有关的问题 ** 4.1中的新增内容 允许使用pastebin列表,你可以共享列表,它会自动同步。 - 修正了在Google结果页上突出显示的问题 ** 4.0中的新功能 - 显示帧内的高光 - 可选择打印高光 - 添加/删除单词时重新突出显示 - 修正:单词之间的导航是固定的 ** 4.0中的新功能 - 显示帧内的高光 - 可选择打印高光 - 添加/删除单词时重新突出显示 - 修正:单词之间的导航是固定的 ** 3.4中的新增内容 - 单词保持顺序 - 找到单词和单词列表 - 上下文菜单显示修改日期的单词列表顺序 **在3.3.5中修正 - 修正了着色不正确的问题 ** 3.3中的新功能 - 用文字设置通配符(?,*) - 备份和恢复你的话 - 定义前景色 - 定义高亮应该发生的网站 **在3.3中修正 - 突出显示包含特殊字符的文字 **定义单词** 轻松指定要突出显示的单词和短语。 **突出显示** 突出显示页面上的单词和短语 显示多少个单词已被突出显示 **在Ajax页面上工作** 扩展程序检测到对页面的更改并重新突出显示这些字词。 支持语言:English,Français,Nederlands,русский
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值