2012-02-29 26 views
0

我有可能包含的子字符串:正則表達式與標籤掃描串另一個標籤內

<h1 style="margin: 0; padding: 0" class="title_big">Item title <span style="white-space: nowrap"> (5 entries)</span></h1> 

或只是

<h1 style="margin: 0; padding: 0" class="title_big">Item title</h1> 

(沒有內部SPAN) 現在我想不通了解如何撰寫正則表達式。目前使用這樣一個:

$pat='/<h1 style="margin: 0; padding: 0" class="title_big">([^>]*)<\/h1>/si'; 

但當然不會與內部SPAN

回答

0

子字符串返回匹配如果設置$pat此相反,它應該工作:

$pat = '/<h1 style="margin: 0; padding: 0" class="title_big">(.*?)<\/h1>/uim'; 
+0

奇怪,但它的工作原理可以。*?何解釋?我不是絕對熟悉正則表達式(shamy) – heximal 2012-02-29 13:08:46

+0

「。*」和「。*?」之間的區別就是它 」。*?」將嘗試儘可能短。 – blaff 2012-03-01 09:17:16

+0

很酷。不知道,thanx!它可以被解釋爲「兩個相互依次排列的二元組」嗎? – heximal 2012-03-01 10:22:27