2011-11-09 59 views
0

可能重複跨越標籤:
PHP Strip_tags for div with a specific ID?條具體使用PHP

我有一個包含兩種類型的跨度標籤的字符串。一種類型的ID以關鍵字「junk_」開頭。另一種類型卻有一些隨機ID。我想要做的就是使用preg_replace僅去掉「junk_」span標籤及其內容。我仍然想保持其他跨度。這裏是字符串,我有

<span id="bla">This is a test</span>. 
<span id="junk_74">Please</span> remove <span id="junk_75">all</span> junk spans. 

我想應該是這樣的輸出:

<span id="bla">This is a test</span>. remove junk spans. 

任何幫助將不勝感激。

+0

「id」屬性不允許爲全數字,btw。 – mario

回答

2
$sHtml = preg_replace('/<span[^>]+id="junk_[^"]*"[^>]*>(.*?)<\/span>/s', '', $sHtml); 

另請參閱此example

+0

退出不起作用。如果垃圾標籤除了id之外還有其他屬性,這是否重要? –

+0

它可能包含任何數量的其他屬性。在我的[示例](http://ideone.com/0qbZz)中有效。你能向我展示不匹配的字符串的內容嗎? – scessor

+0

仍然無法使用。請參閱我的[示例](http://ideone.com/RZR82) –