日期:2014-05-17 浏览次数:21327 次
<!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>
------解决方案--------------------
楼上的,大的在小的前面也是不行的,因为替换后,小的还是在那里面,还会再替换一遍的。
总之,关键词包含是个头疼的事。
------解决方案--------------------