如何使用正则表达式捕获完整的 script 标签内容?
从现在开始,努力学习吧!本文《如何使用正则表达式捕获完整的 script 标签内容? 》主要讲解了等等相关知识点,我会在米云中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!

正则表达式如何捕获完整的 script 标签内容
本文探讨了如何使用正则表达式从 PHP 文件中提取 script 标签之间的内容。对于以下 PHP 文件:
<script src="static/js/jsencrypt.js?v=<?= WEB_VERSION ?>"></script>
<script src="static/js/jquery.form.js?v=<?= WEB_VERSION ?>"></script>
<script type="text/javascript">
var a = 1;
var b = 2;
</script>
对于最后一个 script 标签,我们需要通过正则表达式获取中间内容(例如变量声明)。
此前尝试的正则表达式 /(<script\b[^>]*>)([\s\S]*?)(<\/script>)/gm 无法处理包含特殊字符(例如大于号 >)的属性,因此导致匹配错误。
解决方案是使用一个更高级的正则表达式,将属性部分分为多个组:
/(<script\b([^"<>]+|"[^"]*")*>)([\s\S]*?)(<\/script>)/g
这个正则表达式将:
- 匹配 <script> 标签开始标记,包括属性(([^"<>]+|"[^"]*")* 匹配属性)。
- 匹配 <script> 标签之间的内容([\s\S]*? 匹配换行符和任何其他字符)。
- 匹配 <script> 标签结束标记。
使用此正则表达式,我们可以可靠地捕获到目标脚本内容。
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持米云!更多关于文章的相关知识,也可关注米云公众号。
- 量子应用示范变电站建成投用
