2010-06-14 64 views
-1

至左這是我簡單的數據:<table></table><table></table><table>aaa</table>如何匹配正則表達式右側的PHP

如何更換<table></table><table></table>***<table>aaa</table>***

應該返回<table></table><table></table>

+1

澄清問題。它現在沒有太多的意義。使用更多的單詞,更少的星號。 – polygenelubricants 2010-06-14 09:16:35

+0

您可以使用'preg_match_all'獲取所有匹配,並且只取最後一個匹配。 – Gumbo 2010-06-14 09:32:27

回答

2

如果你只是想獲得最後<table>元素,那麼你也許可以使用這種模式:

.*(<table>.*</table>) 

這將捕獲最後的<table>.*</table>分組到組1(see on rubular.com)。

也就是說,你可能不應該使用正則表達式來解析HTML。如果可能的話,使用HTML解析器。

0
$txt = '<table></table><table></table><table>aaa</table>'; 
print preg_replace('@(.*)(<table>aaa</table>)[email protected]','\\1***\\2***',$txt);