2010-11-15 91 views
0

我想查找和匹配不包含HTML標籤但不包含HTML標籤但是包含< br/>和其他所有正常字符([^ <>] +)的字符串。正則表達式以匹配包含<br/>但不包含其他HTML標記的字符串?

所以基本上,這場比賽解散了任何包含'<'或'>'但不是'< br/>'的字符串。

這是我能想出:

preg_match('@[(?:<br/>).][email protected]', $str, $match); 

顯然,這是行不通的原因:」我不知道在點放什麼。有任何想法嗎?

回答

1

爲什麼不......

@(?:[^<]|<br */>)*@ 

也就是說,任何數量的(一個完整的<br />標籤或任何非標籤打開字符)。

1

我只是做倒退 - 看看字符串是否包含除<br/>以外的任何<...>標記,如果它包含,則將其解除。所以:

preg_match(/<(?!br)/i, $str, $match); 
if (!$match) we_are_good(); 
相關問題