使用正则匹配完整 script 标签中间内容
php 文件中包含了多个 script 标签,需要通过正则表达式捕获其中一个 script 标签的中间内容,例如:
var a = 1; var b = 2;
登录后复制
针对原有的正则表达式存在缺陷,无法处理 script 标签属性插入 > 的情况,因此需要改进正则表达式。
改进后的正则表达式如下:
立即学习“”;
/(<script([^"<>]+|"[^"]*")*>)([sS]*?)(</script>)/g
登录后复制
具体解析如下:
- ( ]+|”[^”]*”)*>): 匹配 script 标签的起始标识符,包括 script 标签的名称和属性。其中,([^”]+) 匹配不包含引号、小于号和大于号的字符,(“[^”]*”) 匹配包含引号的字符串。
- ([ss]*?):匹配 script 标签中间的内容,包括换行符和空格。*? 表示尽可能短的匹配。
- ():匹配 script 标签的结束标识符。
以上就是如何使用正则表达式提取 PHP 文件中多个 script 标签的中间内容?的详细内容,更多请关注GTHOST其它相关文章!