用preg_replace替换表及其内容(不区分大小写)?

时间:2015-04-16 06:07:12

标签: php regex

这是我的代码 -

$pattern= '/<table[^>]*>.*?<\/table>/s';

$html= preg_replace($pattern, '', $html, 1);

我尝试过 - $pattern= '/<table[^>]*>.*?<\/table>/i';,但没有成功。有什么帮助吗?

2 个答案:

答案 0 :(得分:1)

这是因为默认情况下你的正则表达式中的点与新行字符不匹配。因此,您需要添加s DOTALL修饰符以在正则表达式中创建点以匹配换行符。

$pattern= '/<table[^>]*>.*?<\/table>/si';

答案 1 :(得分:0)

查看修饰符http://php.net/manual/en/reference.pcre.pattern.modifiers.php(正则表达式字符串末尾的字母,分隔符后面)。

“$ html”表示您可能会处理包含多行的较长字符串。在这种情况下,“s”修饰符将是您的朋友。