PHP将搜索后结果标题进行标红显示同时保持原标题字母大小写的方法
更新:2020-03-25 13:01:04
人气:613
来源:本站原创
A+
在做李雷博客搜索功能时,想让用户检索关键词之后能在标题中标红色提示,同时又不影响原标题所显示的状态,就写了这个函数。用于替换标题中指定字符的颜色,同时兼顾了大多数以编程为主的网站经常出现大小写字母标题类的处理办法。
这个问题其实自己早就发现了,到今天闲下来了,才想起解决,PHP代码共享了。
function keywordlight($keyword,$rstitle,$jingdu){//关键词加亮 jingdu =0 开启模糊,其余任何值为精确,但必须有初始值 //keywordlight($title_search,clear_all($rs["title"]),'0'); $rstitle=htmlspecialchars_decode($rstitle);//将被转义的字符转回HTML实体 if ($keyword!==''){ if ($jingdu=='0'){//开启模糊查询,利用区位码单字分隔 $str_qwm = ''; for($i=0; $i<strlen($keyword); $i++){ $str_c=(@ord($keyword[$i])>0xa0?substr($keyword, $i++, 2):substr($keyword, $i, 1));//将字以空格断开 $str_qwm = $str_qwm.$str_c." "; } $keyword=$str_qwm; } $word = explode(' ',$keyword); $length = count($word); for($iop = 0; $iop < $length; $iop++){ /* 李雷博客是以PHP编程为主,标题中经常会出现大小写字母的英文。 为了保持原标题的状态,保持标红着色同时还不能改变原标题中的大写或小写,需要将关键词替换两次处理 */ for($e=0;$e<mb_strlen($word[$iop]);$e++){//不管是字还是字符串,都再分解成单字符 $mubiao=mb_substr($word[$iop],$e,1,'GBK');//mb_strlen和mb_substr主要解决中文截取乱码的问题 //$mubiao=$word[$iop]; $rstitle=str_replace(strtoupper($mubiao),"{##}".strtoupper($mubiao)."{@@}",$rstitle);//大写字母替换一遍 $rstitle=str_replace(strtolower($mubiao),"{##}".strtolower($mubiao)."{@@}",$rstitle);//小写字母再替换一遍 } } $rstitle=str_replace("{##}","<span style='color:#FF0000;' >",$rstitle); //转换成特殊标记,标题不能含有特殊文字 $rstitle=str_replace("{@@}","</span>",$rstitle); return $rstitle; }else{ return $rstitle; } }
{#A#}和{@B@}只是做为模板替换的标记符号
函数调用方法:
<? $title=keywordlight($title_search,$rs["title"],'0'); ?>
推荐的文章
Ads by Google
随手记
- ● InternalServerError错误和.htaccess伪静态的关系
- ● js实时动态显示PHP服务器时间且不用Ajax循环查询获取的方法
- ● Google谷歌访问助手百度云分享下载及安装方法说明
- ● jQuery实现页面中表格数据的搜索
- ● PHP如何获取指定网址的header头信息及隐藏关闭的方法
- ● 去掉EasyPlayer播放器水印LOGO“tsingsee”的方法
- ● easy-player-element.min.js使用示例及百度云盘下载
- ● html使用EasyWasmPlayer.js示例方法及百度网盘下载地址
- ● 谷歌广告联盟(GoogleAdsense)申请通过了,可服务器在哪?
- ● PHP支持的版本及各版本最终支持时间
PHP经验分享
- ● php远程网络唤醒计算机及WOL唤醒魔术包格式原理
- ● FatalErrorBaseaddressmarksunusablememoryregion解决办法
- ● 关于PHP7不支持curl的解决方法
- ● PHP在浏览器中发出CMD指令执行Windows电脑关机、重启
- ● PHP接收$_POST表单值为字符串或数组时,对安全转义的处理函数
- ● PHP+MYSQL多个字段插入或修改数据库时的简便方法
- ● 关联数组循环输出及根据键名输出键值有用法
- ● MySQL并发相关的参数的调整
- ● PHP调用百度AI图像识别文字并输出文本结果
- ● PHP5,6,7版本中如何使用magic_quotes_gpc转义数据保证安全
本站PHP博客源代码下载
联系博主