关键词高亮

zfm1988 2011-06-11 10:09:51
通过在文章中搜索达到关键词高亮,有一种情况,r如 关键词 ’ hellow‘ ‘world’’hellow world‘

原文: hellow world,every thing is wrong

如何让hellow world 高亮呢??

要考虑 同时匹配了 hellow world hellow world ,所以取最长在匹配。
...全文
61 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zfm1988 2011-06-14
  • 打赏
  • 举报
回复
呵呵,说说我的思路吧!!

首先通过一个usort()函数,将数组安装内容长短,从大到小的排序,然后再通过

preg_replace("/\b("word")\b/", '<u>\\1</>,$str);

最后所以匹配到的东西都会有下划线的!!
zfm1988 2011-06-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bear63 的回复:]

这个很容易啊,用js现实最好

HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<hea……
[/Quote]

你这只是一种特例,你想想在一篇文章中,让指定都文字高亮,你着可以实现吗??

就 google 搜索是高亮啊
bear63 2011-06-12
  • 打赏
  • 举报
回复
这个很容易啊,用js现实最好

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
hello world,every thing is wrong
</body>
<script>
function HighLight(nWord){

if(nWord!=''){

var keyword = document.body.createTextRange();

while(keyword.findText(nWord)){

keyword.pasteHTML("<span style='color:red;'>" + keyword.text + "</span>");

keyword.moveStart('character',1);

}

}

}

function highword(nWord){

var array = nWord.split(",");

for(var i=0;i<array.length;i++){

HighLight(array[i]);

}

}
HighLight('hello')
</script>
</html>
zfm1988 2011-06-12
  • 打赏
  • 举报
回复
算法和思路都可以了!!!谢谢

最好算法,如果没时间写都话,思路有可以都啊
se_marui_blog 2011-06-11
  • 打赏
  • 举报
回复
要具体程序算法还是要思路?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧