这是我的代码 -
$pattern= '/<table[^>]*>.*?<\/table>/s';
$html= preg_replace($pattern, '', $html, 1);
我尝试过 - $pattern= '/<table[^>]*>.*?<\/table>/i';
,但没有成功。有什么帮助吗?
答案 0 :(得分:1)
这是因为默认情况下你的正则表达式中的点与新行字符不匹配。因此,您需要添加s
DOTALL修饰符以在正则表达式中创建点以匹配换行符。
$pattern= '/<table[^>]*>.*?<\/table>/si';
答案 1 :(得分:0)
查看修饰符http://php.net/manual/en/reference.pcre.pattern.modifiers.php(正则表达式字符串末尾的字母,分隔符后面)。
“$ html”表示您可能会处理包含多行的较长字符串。在这种情况下,“s”修饰符将是您的朋友。