如何用正则表达式精准匹配Script标签内的内容,并处理属性中包含引号的情况?(引号.精准.如何用.匹配.属性...)

wufei1232025-01-16PHP1

如何用正则表达式精准匹配script标签内的内容,并处理属性中包含引号的情况?

正则表达式 完整匹配 script 标签中间内容

问题:

如何通过正则表达式捕获到所有 <script> 标签中间部分的内容,能处理标签属性中含有引号的情况?</script>

示例:

<script src="static/js/jsencrypt.js?v=1.0">...</script>
<script src="static/js/jquery.form.js?v=1.2">...</script>
<script type="text/javascript">
    var a = 1;
    var b = 2;
</script>

期望匹配第三个 <script> 标签中间内容:</script>

    var a = 1;
    var b = 2;

解决:

使用以下正则表达式:

/(<script([^"<>]+|"[^"]*")*>)([sS]*?)(</script>)/g

解释:

  • ( 匹配 <script> 标签的开头。</script>
  • (1 |"2*") 匹配标签属性,允许属性中含有引号。
  • ) 匹配 <script> 标签的结尾。</script>
  • ([ss]*?) 匹配标签中间的内容,使用非贪婪模式。
  • () 匹配 标签的结尾。
  1. " ↩
  2. " ↩

以上就是如何用正则表达式精准匹配Script标签内的内容,并处理属性中包含引号的情况?的详细内容,更多请关注知识资源分享宝库其它相关文章!

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。