扫码关注官方订阅号
比如有一段的markdown语法的文章
要求通过正则将代码以外的 < 转成 < > 转成 > 变成下面这样:
<
<
>
>
人生最曼妙的风景,竟是内心的淡定与从容!
我老婆催我回去呢,可我还在为你解决问题,好不人道哦哦哦哦不好意思,太着急回去了,没详细测试,代码修复了,楼主可以验证下,呵呵!顶和踩都无所谓了,学习到知识就好了 --- 2015-10-11
var regx = /([\s\S]*?)(```[\s\S]*?```)/g; // 注意这个则表达式的贪婪和非贪婪模式 //这个测试够有诚意吧 var testStr = '<script>alert(123)<\/script>tttddds<script>alert(fefefefeeffefe)<\/script>end\n' +'```\n' +'<script>alert(123)<\/script>\n' +'```\n' +'ttt<script>alert(123)<\/script>endend\n' +'```\n' +'<script>alert(123)<\/script>\n' +'```\n' +'ttt<script>alert(123)<\/script>endend'; var lastIndex,s = ''; while( (result = regx.exec(testStr)) != null) { s+=transfer(result[1]); s+=result[2]; lastIndex =result.index+result[0].length; } s += transfer(testStr.substring(lastIndex)); console.log(s); // 对字符串中< >进行转义 function transfer(souStr) { if(typeof souStr == 'undefined') { return ''; } var res = souStr.replace(/[<>]/g,function(match,index,s) { switch(match) { case '<': return '<'; case '>': return '>'; } }); return res; }
var strPre = '<script>alert(123)<\/script>', strFinal = strPre.replace(/<([^<]*|[^>]*)>/g,'<'+'$1'+'>'); console.log(strFinal);
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
我老婆催我回去呢,可我还在为你解决问题,好不人道哦哦哦哦
不好意思,太着急回去了,没详细测试,代码修复了,楼主可以验证下,呵呵!顶和踩都无所谓了,学习到知识就好了 --- 2015-10-11