Php 未解析的简单HTML DOM解析器<;车身>;标签

Php 未解析的简单HTML DOM解析器<;车身>;标签,php,simple-html-dom,Php,Simple Html Dom,我使用这个简单的html dom解析器尝试解析外部url。我能够在大多数页面上正确使用它 但是当我尝试解析网站时 解析器无法识别html中的标记 require 'simple_html_dom.php'; $html = file_get_html('http://talksport.com/football/atletico-madrid-beat-arsenal-and-west-ham-signing-portuguese-wonderkid-diogo-jota'); // Fi

我使用这个简单的html dom解析器尝试解析外部url。我能够在大多数页面上正确使用它

但是当我尝试解析网站时

解析器无法识别html中的标记

require 'simple_html_dom.php';

$html = file_get_html('http://talksport.com/football/atletico-madrid-beat-arsenal-and-west-ham-signing-portuguese-wonderkid-diogo-jota');

// Find any tag for eg. <div>
$tag = $html->find('div',0);
var_dump($tag);
$x只有一个子项,即标记。标记根本没有被解析


以前有人遇到过这样的问题吗?请提供帮助。

我建议您使用DOMDocument类和cURL,如下所示:

$url = "http://talksport.com/football/atletico-madrid-beat-arsenal-and-west-ham-signing-portuguese-wonderkid-diogo-jota";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
$curlReturn = curl_exec($ch);

$html = new DOMDocument();
$html->loadHTML($curlReturn);
$body = $html->getElementsByTagName("body");

curl_close($ch);
它比简单的解析器更强大。
该网站的HTML有许多问题。见:

  • 错误看到结束标记
    div
    ,但存在打开的元素。

    来自第134行第47列;第134行第52列

    n Live</p></div>?             <
    
  • 。。。等等

    提到重复的id值、错误的结束标记、无效属性、使用子样式标记等。。。还有更多的问题


    我认为简单的HTML DOM解析器只是在混乱中迷失了方向。

    DOMDocument给了我很多警告,因为HTML格式不好。例如,DOMDocument::loadHTML():结束标记:实体中应为“”,行:1321。了解了如何使用libxml\u use\u internal\u errors禁用警告
    n Live</p></div>?             <
    
    </h2>?                <a href="/live" class="listenLiveButtonTrigger" onclick="listenLive(1);return false;">?