[英]Php regex multiline search issue
我试图让所有字符之间的样式标签。 这是我的正则表达式
'#<style>(.*?)</style>'
它可以正确产生结果,但不适用于多行
为此可以正常工作:
<style>body { height: '100%'; }</style>
这不起作用
<style>
body {
height: '100%';
}
</style>
我知道/ s或[/ s / S]或s可以工作,但我不知道它们如何工作
问候
您可以使用模式修饰符与PCRE regex在多行上进行匹配: http : //php.net/manual/zh/reference.pcre.pattern.modifiers.php
m
是多行修饰符。 s
是允许点也匹配新行的修饰符。 那么像这样的模式怎么样:
'#<style>(.*?)</style>#ms'
我认为您也可能会对i
修饰符感兴趣,因为标记可以用<style>
或<STYLE>
或其他口味<StYlE>
都有效。
“。” 匹配\\ n以外的任何单个字符,因此'<style>(.*?)</style>'
在多行情况下不起作用。 而[\\ s \\ S] *将匹配任何字符,包括\\ n。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.