
正则完整匹配 script 标签中间内容
本文将介绍如何使用正则表达式捕获 Script 标签中间部分的内容,解决 PHP 文件中如何匹配 Script 标签内容的问题。
解决方案
为了处理 Script 标签属性中含有大于号的情况,需要修改正则表达式。
更新的正则表达式为:
/(zuojiankuohaophpcnscript\b([^"zuojiankuohaophpcnyoujiankuohaophpcn]+|"[^"]*")*youjiankuohaophpcn)([\s\S]*?)(zuojiankuohaophpcn\/scriptyoujiankuohaophpcn)/g
功能说明
- ([^"zuojiankuohaophpcnyoujiankuohaophpcn]+|"[^"]*"):匹配属性中不包含引号、小于号或大于号的部分,或匹配包含在引号中的内容。
- (\s\S)*?:匹配标签中间部分的任意字符,非贪婪模式确保只匹配到第一个结束标签。
- 其他部分与原正则相同,用于匹配 Script 标签的开始和结束。
示例
使用更新后的正则表达式,可以成功地匹配第三个 Script 标签的内容:
var a = 1;
var b = 2;










