2017-01-23 120 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>