日期:2014-05-17 浏览次数:21200 次
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE></TITLE> <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> </HEAD> <BODY onload="convert()"> <img alt="结婚图片" src="xxx.jpg" width="160"/> <div id="content"> 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>,而不是我想要的结果,谢谢 </div> </BODY> </HTML>
------解决方案--------------------
楼上的,大的在小的前面也是不行的,因为替换后,小的还是在那里面,还会再替换一遍的。
总之,关键词包含是个头疼的事。
------解决方案--------------------