为了账号安全,请及时绑定邮箱和手机立即绑定

JS正则表达式求助!有会的大佬吗?

JS正则表达式求助!有会的大佬吗?

PHP
慕神8447489 2019-03-02 05:02:58
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');


查看完整回答
反对 回复 2019-03-28
  • 1 回答
  • 0 关注
  • 357 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信