0

所以这里是一段较短的代码。

include('simple_html_dom.php'); 

//load HTML file
$html = file_get_html('www.csfd.cz-film-2294-vykoupeni-z-veznice-shawshank-videa-.txt');  

//with simple_html_dom i search for data-truncate*="60"
$ret = $html->find('span[data-truncate*="60"] a'); 

$actors = array();
//i just print down all result of this search with <span data-truncate="60"> 
foreach ($ret as $reziser) {
    $rezia[] = $reziser->innertext;
    }
    echo "<br/> REZIA: <br/>";   
    echo "$rezia[0] <br/>";
    echo "$rezia[1] <br/>";
    echo "$rezia[2] <br/>";
    echo "$rezia[3] <br/>";
    echo "$rezia[4] <br/>";

,我也试着用英文评论一下。我的问题是更多的东西有相同的跨度()如果你检查这个页面的HTML(http://www.csfd.cz/film/2294-vykoupeni-z-veznice-shawshank/videa/)并搜索你会找到这样的东西:http: //pastebin.com/qrB5ejFK问题是使用相同跨度的更多不同类别(Režie,Předloha,Scénář,Kamera,Hudba)。现在我只是搜索这个跨度并可以打印出来或将其保存到数据库,但我需要根据类别划分搜索结果(这部分代码中的每个都是类别名称,我需要在它们之间划分结果)

我希望你知道我在说什么。无论如何,感谢您帮助我解决问题

4

1 回答 1

0

您可以使用 .. parent() 函数获取 html 元素的父级!

你可以这样做:

foreach ($ret as $reziser) {
   //get the <div> wrapping the <span> wrapping the <a>
   $parent = $reziser -> parent() -> parent();
   //get the h4 element containg the category
   $category_element = $parent -> find('h4');
   //get the category
   $category = $category_element[0] -> innertext;
   //use the category as the key of your array enters
   $rezia[$category] = $reziser -> innertext;
}

这只是一个如何获取类别的示例。我真的不明白你真正想要什么,根据你的需要调整代码。

Hodně štěstí !

于 2013-11-08T14:19:39.320 回答