尝试使用正则表达式替换 html 标签
例如,我试图替换
<script type='text/javascript'>some stuff</script>
为:
<div type='text/javascript'>some stuff</div>
我目前正在测试:
alert( o.replace( /(?:<\s*\/?\s*)(script)(?:\s*([^>]*)?\s*>)/gi ,'div') );
但我得到的是:
divsomestuffdiv
如何才能让它仅替换“脚本”部分并保留其他标记和属性字符?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您已保留开始和结束标签括号。 所以试试这个:
You have keep the opening and closing tag brackets. So try this:
我想,一种天真的但可读的方法是分两遍进行,首先匹配并替换
部分
然后是另一个匹配的
并将其替换为
A naive but readable way would be to do it in two passes i suppose and first match and replace the
part with
and then another which would match
and replace it with
DOM 方法比正则表达式更适合于此。 这样您就可以逻辑地操作文档而不是纯文本:
DOM methods are better suited for this than regular expressions. This way you'll manipulate your document logically instead of as plaintext: