2014-05-14 45 views
-3

我想編寫一個正則表達式規則來替換之間的所有內容幷包含表格標籤。替換表格標籤的正則表達式

例如:以上

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

一切到字符串中的代替,包括表標籤

使用preg_replace

+4

什麼阻止你? – Tarec

回答

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