2013-02-25 35 views
0

我試圖獲取html文本的一部分。我試圖讓每個包含在h3標籤下的單獨列表和底部的圖像。下面是示例文本:PHP在html中獲取html

任何幫助都會很棒。

謝謝

<h3>Item Summary</h3> 
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam dictum adipiscing nulla. Aenean id leo non urna sollicitudin lobortis. Sed malesuada diam ut elit accumsan auctor. Proin nisl orci, tempor sed pulvinar ut, semper id nisl. Quisque pellentesque porta facilisis. Duis vestibulum pellentesque commodo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nulla facilisi. Etiam eget lacus mauris, non accumsan erat. Etiam gravida posuere sollicitudin. Cras id sodales diam. </p> 
<h3>Item Features</h3> 
<ul> 
<li>Feature 1.</li> 
<li>Feature 2.</li> 
<li>Feature 3.</li> 
<li>Feature 4. </li> 
<li>Feature 5.</li> 
</ul> 
<h3>Item Details</h3> 
<ul> 
<li>Detail 1</li> 
<li>Detail 2</li> 
<li>Detail 3</li> 
<li>Detail 4</li> 
<li>Detail 5</li> 
</ul> 
<h3>Contact Information</h3> 
<ul> 
<li>Contact 1</li> 
<li>Contact 2</li> 
<li>Contact 3</li> 
<li>Contact 4</li> 

</ul> 
<p > 
    <img height="100px" src="http://www.mydomain.com/Images/123456.jpg" width="200px"/> 
</p> 
<p > 
    <img height="100px" src="http://www.mydomain.com/Images/123456.jpg" width="200px"/> 
</p> 
<p > 
    <img height="100px" src="http://www.mydomain.com/Images/123456.jpg" width="200px"/> 
</p> 
<p > 
    <img height="100px" src="http://www.mydomain.com/Images/123456.jpg" width="200px"/> 
</p> 
<p > 
    <img height="100px" src="http://www.mydomain.com/Images/123456.jpg" width="200px"/> 
</p> 

     <img alt="img1" src="000.jpg"/> 
+1

嗨,你介意詳細說明一下嗎?不清楚你想要做什麼。 – robert 2013-02-25 06:07:09

+0

你是否從別人的頁面提取數據? – 2013-02-25 06:10:47

+2

這聽起來像是[tag:xpath]的工作,而不是[tag:regex]。 – Johnsyweb 2013-02-25 06:12:20

回答

5

不要使用正則表達式,使用DOM解析器像DOM文檔或SimpleXMLElement對象。

$dom = new DOMDocument(); 
$dom->loadHTML($yourHTML); 

$finder = new DOMXPath($dom); 

//Get all lists: 
$lists = $finder->query('//ul'); 

// get all lists immediately AFTER h3's 
$listsAfterHeader = $finder->query('//h3/following-sibling::ul[position()=1]');