2017-01-23 119 views
1

我想使用PHP簡單的HTML DOM解析器從網站上刮取。 源代碼是這樣隨意這樣: 「(。高吊球,鈷V)詳細」使用PHP簡單的HTML DOM解析器

 <font face="Arial" color="#ff0000"> 
     <p>Parameters</p> 
     </font><font face="Arial" size="2" color="#ff0000"> 
     <p>Param1</p> 
     </font><font face="Arial" size="2" color="#0000ff"> 
     <p>Details. (Lob., </font><i><font face="Arial" 
     size="2" color="#ff0000">Co v</font><font face="Arial" size="2" 
     color="#0000ff">.)</p> 

,而不是直接把裏面< P> </P>,它使用<字體把>和<我>。 當我使用此代碼

foreach($html->find('p') as $p) 
{ 
    echo $p->plaintext.'<br>'; 
} 

我發現 「的詳細信息。(LOB,」 發現<當它停止I>或< FONT>。 我怎樣才能提取整條生產線「的詳細信息。(LOB,有限公司訴)」

謝謝您的回答

+0

你的意思是_「scrape」_?只要確定。 –

+0

對不起,我的意思是刮 – balimaco00

回答

1

您可以使用用strip_tags()函數去除不必要的標籤。去除不必要的標籤後,就可以使用DOM解析器。

strip_tags()函數從HTML,XML和PHP 標籤剝離字符串。

串用strip_tags(字符串$海峽[,字符串$ allowable_tags])

你可以閱讀更多關於用strip_tags()上php.net

實例功能:

$html = '<font face="Arial" color="#ff0000"> 
    <p>Parameters</p> 
    </font><font face="Arial" size="2" color="#ff0000"> 
    <p>Param1</p> 
    </font><font face="Arial" size="2" color="#0000ff"> 
    <p>Details. (Lob., </font><i><font face="Arial" 
    size="2" color="#ff0000">Co v</font><font face="Arial" size="2" 
    color="#0000ff">.)</p>'; 

$html = strip_tags($string, '<p>'); 
echo $html; 

結果:

<p>Parameters</p> 

    <p>Param1</p> 

    <p>Details. (Lob., Co v.)</p>