正则表达式替换表标记

时间:2014-05-14 09:30:14

标签: php regex

我想写一个正则表达式规则来替换它们之间的所有内容并包含表标记。

例如:

<table class="table1"><tr><td></td></tr></table>

以上所有要替换的字符串,包括表格标记

使用preg_replace

1 个答案:

答案 0 :(得分:1)

见这两个例子。

1。)匹配最里面的表:

$pattern = '~<table(?>(?!</?table).)*</table>~is';

test at regex101


2.。)匹配表和嵌套表格内:使用recursive pattern

$pattern = '~<table((?>(?!</?table).)*|(?R))+</table>~is';

test at regex101


所以只需使用preg_replace替换:

$str = preg_replace($pattern, "...", $str);

test at eval.in


有关进一步说明,请参阅:SO Regex FAQ