2011-01-31 59 views
0

我已經使用在線正則表達式測試儀http://gskinner.com/RegExr/想出以下模式:(我粘貼所有三行,因爲我不知道我是否應該粘貼正則表達式或模式)正則表達式模式導致語法錯誤時,粘貼到preg_match_all()

RegExp: /<div class="label">.*?<h3>(.*?)</h3>.*?"more">(.*?)\|/g 
pattern: <div class="label">.*?<h3>(.*?)</h3>.*?"more">(.*?)\| 
flags: g 

如果我用它在PHP這樣的:

$pattern = '/<div class="label">.*?<h3>(.*?)</h3>.*?"more">(.*?)\|/g'; 

preg_match_all($pattern,$page,$matches); 

我得到一個錯誤:

Warning: preg_match_all() [function.preg-match-all]: Unknown modifier '.' in ...

有人可以請解釋我如何從這個工具得到我的正則表達式,轉換成在PHP中使用的正確格式。非常感謝。

回答

3

你不是在逃避</h3>g手段斜線全局應用,我們在這裏不會必要的,因爲你使用preg_match_all,它不是在PHP的實現正則表達式的一個有效modifier,只是忽略它

嘗試這個:

$pattern = '/<div class="label">.*?<h3>(.*?)<\/h3>.*?"more">(.*?)\|/'; 
+0

+1但它是一個正斜槓。 – BoltClock 2011-01-31 22:16:06