首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

3个和正则有关(字符串处理)的小有关问题

2011-12-06 
3个和正则有关(字符串处理)的小问题1对字符串做一些处理,比如我想给某些词加上链接,是这样写的,contentco

3个和正则有关(字符串处理)的小问题
1对字符串做一些处理,比如我想给某些词加上链接,是这样写的,
content=content.replaceAll("结婚", "<a href='http://www.xxx.com'>结婚</a>");

现在我碰到了这样的问题,就是某个图片的alt属性中有结婚这个词,结果通过这种变换以后,就不能正常显示图片了。

<img src="xxx.gif" alt="结婚新娘图">

变成了<img src="xxx.gif" alt="<a href='http://wwww.xxx.com'>结婚</a>新娘图">
这显然是不对的,如何在jsp里面能达到不改变图片,而只是正文中的变换

2.我想同时给结婚  和 结婚用品做关键词加链接处理,要求就是如果碰到 结婚用品4个子连在一起,就把这4个字作为整体来加<a...>结婚用品</a>,否则才是<a...>结婚</a>,但通过上面的处理,会变成<a...>结婚</a>用品,或者<a...><a...>结婚</a>用品</a>,而不是我想要的结果,谢谢

[解决办法]
写了一个通用的,不过还是不能在正文里加图片


HTML code
<script>var keywords=[];//要替换的部分var replaces=[];//替换成什么var signs=[];//特定标记,不用管它keywords[0]=/结婚用品/g;keywords[1]=/结婚/g;replaces[0]="<a href='http://www.sina.com.cn'>结婚用品</a>";replaces[1]="<a href='http://www.163.com'>结婚</a>";function convert(){    var contentValue=content.innerHTML;        //设置signs,并替换为signs    for(var i=0;(e=keywords[i]);i++){        signs[i]="thePartWhichWillBeReplace"+i;        contentValue=contentValue.replace(keywords[i],signs[i]);    }    for(var i=0;(e=signs[i]);i++){        while(contentValue.indexOf(signs[i])>=0){            contentValue=contentValue.replace(signs[i],replaces[i]);        }    }    content.innerHTML=contentValue;}</script>
[解决办法]
JScript code
<script type="text/javascript">var a='aaabaa<img src="xxx.gif" alt="aaabaa">aaabaa<img src="xxx.gif" alt="aaabaa">aaabaa<Span>ssss<Span>ssss</Span>aaabaa</Span>'alert(a.replace(/(^|>)([^>]*?)aaab([^>]*?)(^|<)/gi,"$1$2mm$3$4"))</script> 

热点排行