请帮我解决这个问题。
我的代码是:
preg_match_all('/<(link|style|script)(.*?)(\/>|<\/style>|<\/script>)/i', $tpl_content, $styles);
如果链接标签以“>”结尾,它将不起作用(仅当链接标签以“/>”结尾时才有效。
谢谢!
请帮我解决这个问题。
我的代码是:
preg_match_all('/<(link|style|script)(.*?)(\/>|<\/style>|<\/script>)/i', $tpl_content, $styles);
如果链接标签以“>”结尾,它将不起作用(仅当链接标签以“/>”结尾时才有效。
谢谢!
不确定您是否还想要标签之间的所有内容,它位于以下未捕获的组中:
/(<(?:link|style|script)(?:.*?)(?:\/)?>)(?:(?<=^|>)[^><]+?(?=<|$))(<\/(?:style|script)>)?/i
我会在这个 btw 中使用 PREG_SET_ORDER 标志。foreach 行,[0] 是整个匹配,[1] 是开始/全部,[2] 是可选的结束标记
$string = '<link lan="hello"/><script language=\'javascript\'>$(document).ready(function() {}</script>'
$returnValue = preg_match_all('/(<(?:link|style|script)(?:.*?)(?:\\/)?>)(?:(?<=^|>)[^><]+?(?=<|$))(<\\/(?:style|script)>)?/i', $string , $matches, PREG_SET_ORDER);