2016-06-28 24 views
-1

的外部部件的問題是出在網上https://regex101.com/r/wZ9oX5/4正則表達式也捕捉HTML片段

主題字符串是一些代碼標籤一個HTML片段。我需要一個正則表達式模式來獲取部分字符串在代碼htaml元素的文本之間。這個部分也應該包含代碼打開和關閉標籤。

示例被攝模式:

abc 
<code fsa='fdsa'> 
    lorem 
</code> 
bcd 
<code fsa='fdsa'> 
    ipsum 
</code> 
cde 
<code fsa='fdsa'> 
    quo vadis 
</code> 
desf 

我的模式是這樣的:

(<\/code>.*?<code[^>]*?>) 

但它只是變得字符串的內部零件。是否有可能創建一個可以獲得字符串外部部分的模式?

我的意思是aditional的零件,如

abc 
<code fsa='fdsa'> 

</code> 
defs 

謝謝

+0

有你爲什麼要使用特定的原因正則表達式屁股HTML?你可以通過使用DOM來保護自己的痛苦負擔http://php.net/manual/en/domdocument.loadhtml.php –

+0

爲什麼不嘗試其他方式 - [檢查此](https:// regex101.com/r/wZ9oX5/5)。它代替'code'塊中的所有內容 - 包括標籤。 – ClasG

+0

是的,有一個原因。這是因爲代碼標籤的文本節點可能具有「少於」字符,導致DOMDocument瘋狂。然而,這不是一個真正的html片段,但我知道,但這是將具有編程代碼片段的文章存儲在數據庫中的方式。 – trzczy

回答