js代码中有如下转义正则:// 转义@
content.replace(/@(\S+)(\s+?|$)/g,
'<a href="javascript:;" style="color: '
+ 'deepskyblue" class="fly-aite">@$1</a>$2')以上代码作用:把内容中紧跟着@字符的文字转义为超链接可点击目前存在的问题:把content内容中的pre代码标签中的代码也给转义了,如图期望的结果:不要转义所有[pre]code段...[/pre]之间的@xxx以上正则该如何修改?
1 回答
杨魅力
TA贡献1811条经验 获得超6个赞
没有什么是不可以用正则表达式替换的,如果替换不了,那就用两个:
第一步,先把<pre>
里面的@
转换成%
或者其它任意你觉得不会与其他文本相同的东西,哪怕是好几个中文字符都行:content.replace(/(<pre>.*)@(.*<\/pre>)/gms, '$1%$2');
第二步,按照你上面的方法,把@
后面的内容进行转换;
第三步,再把<pre>
里面的%
转回@
:content.replace(/(<pre>.*)%(.*<\/pre>)/gms, '$1@$2');
- 1 回答
- 0 关注
- 357 浏览
添加回答
举报
0/150
提交
取消