如何使用正则表达式捕获完整的 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 标签,我们需要通过正则表达式获取中间内容(例如变量声明)。
此前尝试的正则表达式 /()/gm 无法处理包含特殊字符(例如大于号 >)的属性,因此导致匹配错误。
解决方案是使用一个更高级的正则表达式,将属性部分分为多个组:
/(<script([^"<>]+|"[^"]*")*>)([sS]*?)(</script>)/g
这个正则表达式将:
- 匹配
- 匹配
- 匹配
使用此正则表达式,我们可以可靠地捕获到目标脚本内容。
以上就是如何使用正则表达式捕获完整的 script 标签内容?的详细内容,更多请关注硕下网其它相关文章!