使用正则匹配完整 script 标签中间内容
php 文件中包含了多个 script 标签,需要通过正则表达式捕获其中一个 script 标签的中间内容,例如:
var a = 1; var b = 2;登录后复制
针对原有的正则表达式存在缺陷,无法处理 script 标签属性插入 > 的情况,因此需要改进正则表达式。
改进后的正则表达式如下:
立即学习“PHP免费学习笔记(深入)”;
/(<script([^"<>]+|"[^"]*")*>)([sS]*?)(</script>)/g登录后复制
具体解析如下:
-
(
]+|"[^"]*")*>): 匹配 script 标签的起始标识符,包括 script 标签的名称和属性。其中,([^"]+) 匹配不包含引号、小于号和大于号的字符,("[^"]*") 匹配包含引号的字符串。 - ([ss]*?):匹配 script 标签中间的内容,包括换行符和空格。*? 表示尽可能短的匹配。
- ():匹配 script 标签的结束标识符。
本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/6654.html