php:如何匹配除特定类型之外的所有脚本标记

时间:2017-04-19 12:21:23

标签: php regex

我想搜索特定内容中的每个脚本标记,但类型为" text / x-template"的脚本除外。

此模式匹配所有脚本:

'/(\\s*)<script(\\b[^>]*?>)([\\s\\S]*?)<\\/script>(\\s*)/i'

但我不知道如何排除&#34; text / x-template&#34;。

谢谢。

3 个答案:

答案 0 :(得分:0)

不要使用Regex来解析HTML或XML!使用DOMDocument! 请在此处查看我对此问题的回答:

get from this line <topalbums artist="Adele">

答案 1 :(得分:0)

怎么样:

preg_match_all("/<script.*type=\"(?!text\/x-template).*>(.*)<\/script>/im", $input_lines, $output_array);

看到它的实际效果: http://www.phpliveregex.com/p/jOB

答案 2 :(得分:-1)

我解决了。

/(\s*)<script(?![ \t\r\n]+type\s*=\s*"\s*text\/x\-template\s*").*?(\b[^>]*?>)([\s\S]*?)<\/script>(\s*)/

https://jsfiddle.net/porizm/6wrebz23/8/