在<div> </div> </h2>中刮取<h2>

时间:2014-05-26 04:38:44

标签: php html xpath scrape

在此代码上抓取h2时遇到一些麻烦:

<div id="content">
    <div class="title-wrapper">
        <article class="article">
        <figure>
            <a title="Ölüm Denizi" href="http://trfilmizle.com/olum-denizi.html">
                <img class="small-poster" alt="Ölüm Denizi" src="http://i706.photobucket.com/albums/ww64/ddizi/TRfilmizle/OumlluumlmDenizi_zpsc809f300.jpg~original">
            </a>
        </figure>
    <div class="article-container">
    <h2>
        <a title="Ölüm Denizi" href="http://trfilmizle.com/olum-denizi.html">Ölüm Denizi</a>
    </h2>
    <div class="article-info">
    <div class="description"> Kuzey Kore, Güney Kore ve Çin arasına sıkışmış Yanji kentinde geçen Ölüm Denizi, araba kovalamacaları, cinayetler ve bıçaklı kavgalarla dolu… </div>
</div>

有什么想法吗?我可以通过以下方式访问节点:

//article[@class='article']/text()

但是,无法获得h2!有什么建议吗?

2 个答案:

答案 0 :(得分:0)

这应该会获得h2div个元素下的所有文字组件:

//div/h2//*/text()

更具体地说,您可以将其限制为特定的div

//div[@class='article-container']/h2//*/text()

答案 1 :(得分:0)

使用此preg_match_all()

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<?php
$source= '<div id="content">
    <div class="title-wrapper">
        <article class="article">
        <figure>
            <a title="Ölüm Denizi" href="http://trfilmizle.com/olum-denizi.html">
                <img class="small-poster" alt="Ölüm Denizi" src="http://i706.photobucket.com/albums/ww64/ddizi/TRfilmizle/OumlluumlmDenizi_zpsc809f300.jpg~original">
            </a>
        </figure>
    <div class="article-container">
    <h2>
        <a title="Ölüm Denizi" href="http://trfilmizle.com/olum-denizi.html">Ölüm Denizi</a>
    </h2>
    <div class="article-info">
    <div class="description"> Kuzey Kore, Güney Kore ve Çin arasına sıkışmış Yanji kentinde geçen Ölüm Denizi, araba kovalamacaları, cinayetler ve bıçaklı kavgalarla dolu… </div>
</div>';
preg_match_all('#<h2>(.*?)</h2>#is', $source, $output, PREG_PATTERN_ORDER);
print_r($output[1][0]);
exit;