2014-03-30 77 views
2

如何匹配具有特定類的所有div的內容。例如:正則表達式匹配特定類中div的內容

<div class="column-box-description paddingT05">content</div> 
+1

不要使用REGEX HTML! – BeniBela

+0

你真的想要做什麼? (提示:正則表達式(幾乎總是)解析不規則語言(如HTML)的一種*糟糕的解決方案)。 –

+0

我想用php變量替換div內的內容。 div內的內容只是文字 –

回答

4

一般情況下,你不應該用正則表達式做到這一點,除非你可以對你相匹配的文本嚴格的假設;你會用實際解析HTML的東西做得更好。

但是,如果你可以讓這些更強的假設,你可以使用:

<div class="[^"]*?paddingT05[^"]*?">(.*?)</div> 

的關鍵部分是不情願的量詞*?其中最小的文本可能的匹配(即不貪婪地吃起來</div>

+0

表達式不起作用 –

+0

@FlorianShena沒有足夠的反饋能夠幫助您。這裏有一個[Debuggex Demo](https://www.debuggex.com/r/gY2j4ObcC-yoK-XG) – beerbajay

+0

原因不起作用是因爲它不匹配div內的新行。 –

0

你可以做這樣的事情:

<div.*class\s*=\s*["'].*the_class_you_require_here.*["']\s*>(.*)<\/div> 

替換 「the_class_you_require_here」 帶班您選擇的名稱。 div的內容是由這個預期產生的第一組。你可以在這裏閱讀:http://www.regular-expressions.info/brackets.html

相關問題