查了下代码,common_extra.js文件,29~387行,这里关联链接的关键字判断有问题,好像只处理了正文文本中第一个<br />之前的内容了,后面的都不做处理了;
relatedid[j] = 1;后,下一个<br />之前的的内容就不处理,因为if条件里进行了!relatedid[j]判断。
举个例子,后台设置关联链接词为:
1、电脑
2、电脑配件
3、笔记本
发帖内容为:
放到范德萨的萨芬电脑fdsalkj
街坊地块垃圾啊是否快乐电脑配件
房间打扫房了笔记本
那么只有第一个段落的电脑才会被js替换为关联链接。
提供一下临时解决方案:
for(var j = 0; j < relatedlink.length; j++) { if(relatedlink[j] && !relatedid[j]) { var ra = '<a href="'+relatedlink[j]['surl']+'" target="_blank" class="relatedlink">'+relatedlink[j]['sname']+'</a>'; var $rtmp = $3; $3 = $3.replace(relatedlink[j]['sname'], ra); if($3 != $rtmp) { relatedid[j] = 1; } } }
for里面的 j > -1换成 j < relatedlink.length;,去掉else。