2013-10-27 18 views
1

我喜歡使用preg_match_all從外部.html文件加載一些數據! 數據被存儲在包含2000行像這樣的表:如何提取與preg_match_all特定div的內容,無需ID或類只

<DIV STYLE="top:605px; left:252px; width:70px" Class="S8">4:02</DIV> 
<DIV STYLE="top:605px; left:287px; width:43px; height:15px" Class="S6"></DIV> 
<DIV STYLE="top:605px; left:295px; width:70px" Class="S8">4:55</DIV> 
<DIV STYLE="top:325px; left:295px; width:70px" Class="S8">6037</DIV> 
<DIV STYLE="top:325px; left:330px; width:43px; height:15px" Class="S6"></DIV> 
<DIV STYLE="top:325px; left:338px; width:70px" Class="S8">6040</DIV> 

我不知道這是否是使用preg_match_all正確的方式,但 是可以搜索特定的樣式值?例如。找到所有具有240px和300px左側屬性的div並返回內部div數據?

+1

解析HTML正則表達式是凌亂的最好的。看一看[DOM文檔(http://php.net/manual/class.domdocument.php)。對於初學者:DOM文檔:: loadHTML()](http://php.net/manual/domdocument.loadhtml.php) – Kontrollfreak

回答

1

如果使用正則表達式字符串"/<DIV STYLE=".*?left:(2[4-9][0-9]|300).*?>(.*?)<\/DIV>/",preg_match_all將返回一個包含三個子數組的數組。第一個將整個div。第二個將是left樣式值。最後一個將是div的內部HTML。

+0

謝謝埃文這正是我一直在尋找。 – altsel