搜索结果高亮显示(不改变html标签)
一、问题的产生
搜索结果高亮显示,在新闻标题,来源之类的地方好做,只需要用str.Replace(keyword,"<font style=\"color:red;\"" + keyword +"</font>");这样的方法就可实现。
问题在于,在新闻内容里做搜索。其中html标签里可能含有关键字,用上面这种方法,将会替换掉html标签的部分内容,导致新闻内容不能正常显示。
例如:新闻内容里的图片<img alt="" src="Upload\1.jpg" />,搜索时使用的关键字为oa,则会将新闻内容中这张图片替换为<img alt="" src="Upl<font style="color:red;">oa</font>d\1.jpg" />,这张图片就显示不出来了。
二、实现原理
首先,将新闻内容里的所有html标签读出来,保存起来;
其次,将所有html标签替换为一般不可能出现的字符,如[[1]],[[2]]......[[N]]]等;(搜索的关键字一般不会是[[N]]吧,新闻内容里也一般不会出现这样的字符)
再次,将搜索结果替换为高亮显示状态;
最后,将html标签还原。
三、实现代码
以下代码是网上搜集的,来源不详,在此对作者表示感谢。
public static string Reg(string input, string replace)
{
//设置高亮样式
string replaceformat = "<span style=\"font-size:14px; font-weight:bold; color:#f00; background-color:#ff0\">{0}</span>";
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(String.Format("{0}", replace), System.Text.RegularExpressions.RegexOptions.Multiline);
return reg.Replace(input, string.Format(replaceformat, replace));
}
/// <summary>
/// 设置各个html部分为自定义标号
/// </summary>
/// <pa
相关文档:
在一个网页中的按钮,写onclick事件的处理代码,不小心写成如下:
<input value="Test" type="button" onclick="alert(""OK"");" />
IE提示出错后,再漫不经心地改为:
<input value="Test" type="button" onclick="alert(\"OK\");" />
结果还是出错。
这时,我就想不通了,虽然我知道最直接的解决方法 ......
HTML,XML,UML 简介
HTML (HyperText Mark-up Language)超文本标记语言 是WWW的描述语言。设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。HTML文本是由HTML命令组成的 ......
一张图片不必切割成各种按钮。做前端的接触的比较少,应该虚心学习……
<img src="images/b.gif" mce_src="images/b.gif" alt="标题" width="685" height="23" border="0" usemap="#Map" />
<map name="Map" id="Map"><area shape="rect" mce_shape="rect" coords="31,1,70,20" mce_coords="3 ......
package test;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
/**
* @category 功能1:汉字与16进制的转换<br/>功能2:汉字与Html转义符的转换
* @author 作者:李易烜<br/>邮箱:chinaliyixuan@hotmail.com
* @date 创建时间:Fe ......
在Google 、Mozilla 、Apple 等组织的努力下,HTML5 标准已经从草案走向实现。目前几个主流浏览器的最新版本均已或多或少支持HTML5的新功能,即使是过时的浏览器也可以通过Javascript和插件来模拟相应的效果。
在开发RIA(富互联网应用)的时候,是选择占有率、兼容性、开发效率有限的Flash、SilverLight、Gears、JavaFX等 ......