0

我正在尝试获取某些div html 结构的内容,如下所示:

<div id="event-pane" class="class1">
   <div id="e170923" class="class2">
   <div id="e170948" class="class2">
   <div id="e170923" class="class2">

我正在尝试获取 div id="exxxxxx",而 xxxxxx 是 $event_id

我正在使用 file_get_contants 和 DOM 这是我的代码:

<?php

    $event_id = $_GET['eventId'];

    //Get the url
    $url = "static/section35.html";
    $html = file_get_contents($url);
    $doc = new DOMDocument(); // create DOMDocument
    libxml_use_internal_errors(true);
    $doc->loadHTML($html); // load HTML you can add $html
    if($html) {
    $divs = $doc->getElementById('e. $event_id, 0');

    $elements = $doc->getElementsByTagName('tbody');

    $toRemove = array();

    // gather a list of tbodys to remove
    foreach($elements as $el)
      if((strpos($el->nodeValue, 'desktop') !== false) && !in_array($el->parentNode, $toRemove, true))
        $toRemove[] = $el->parentNode;    

            foreach($elements as $el)
      if((strpos($el->nodeValue, 'Recommended') !== false) && !in_array($el->parentNode, $toRemove, true))
        $toRemove[] = $el->parentNode;  

    // remove them
    foreach($toRemove as $tbody)
      $tbody->parentNode->removeChild($tbody);

    echo str_replace(array('style="display: none;','</h3><table','http://www.drakulastream.eu'),array('', '<table',''),$doc->saveHTML());
}
  else {
        echo "<center><h3 style='color:#003366;'>There are no events today</h3></center>";
           }
?>

我不知道代码有什么问题

4

1 回答 1

1

看起来您刚刚输入了错误的选择器。应该是这样的:

$divs = $doc->getElementById('e' . $event_id);
于 2013-09-17T23:15:25.040 回答