2013-02-15 72 views
0

我有htmlcode如何獲得數組[0],BL-5CA數組[2] 700 mAh,諾基亞作爲數組[3]使用PHP。 itry like this從html獲取文本與preg_match_all

preg_match_all('~<span>capacity(.*?)mAh~si', $result, $matches[0]); 
preg_match_all('~<span>Model(.*?)</span></div>~si', $result, $matches[1]); 
preg_match_all('~<span>Brand(.*?)</span></div>~si', $result, $matches[2]); 

它顯示我空數組。請幫我解決它

<div class="b-goods-specifications mod_cutted"> <div class="b-goods-specifications-item"> <ul class="b-goods-specifications-list"> <li class = "b-goods-specifications-row g-clearfix "> <div class="b-goods-specifications-cell"> <span> **capacity** </ span> </ div> <div class="b-goods-specifications-cell"> **700 mAh** </ div> </ li> <li class="b-goods-specifications-row g-clearfix"> <div class="b-goods-specifications-cell"> <span> **Model** </ span> </ div > <div class="b-goods-specifications-cell"> **BL-5CA** </ div> </ li> <li class="b-goods-specifications-row g-clearfix"> <div class = "b-goods-specifications-cell "> <span> **Brand** </ span> </ div> <div class="b-goods-specifications-cell"> **Nokia** </ div> </ li> <li class =" b-goods -specifications-row g-clearfix "> <div class="b-goods-specifications-cell"> <span> Type </ span> </ div> <div class="b-goods-specifications-cell"> Li -ion ​​</ div> </ li> </ ul> </ div> </ div> 
+1

http://php.net/manual/en/class.domdocument.php - 不使用正則表達式的HTML。 http://simplehtmldom.sourceforge.net/是一個易於使用的外部庫,如果你無法弄清楚PHP DOM。 – Crontab 2013-02-15 16:54:22

+1

並不是說這是正確的方法,但如果你必須使用正則表達式從輸入字符串中刪除所有的'\ r'和'\ n',他們搞砸了正則表達式 – Naryl 2013-02-15 16:58:27

+0

你也有很多\ s在你的輸入字符串,但沒有在正則表達式中 – Naryl 2013-02-15 16:59:36

回答