0

私はページimage.phpを持っています

画像は以下のようにコンテナに保持されます:- 注: コンテナ div の外にも他の画像があります.. コンテナ div からの画像が欲しいだけです。

    <!DOCTYPE html>
    <head>
        <title>Image Holder</title>
    </head>
    <body>
        <header>
        <a href="#"><img src="http://examepl.com/logo.png"></a>
            <div id="side">
                <div id="facebook"><img src="http://examepl.com/fb.png"></div>
                <div id="twiiter"><img src="http://examepl.com/t.png"></div>
                <div id="gplus"><img src="http://examepl.com/gp.png"></div>
            </div>
        </header>      
        <div class="container">
            <p>SOme Post</p>
            <img src="http://examepl.com/some.png" title="some image" />

            <p>SOme Post</p>
            <img src="http://examepl.com/some.png" title="some image" />

            <p>SOme Post</p>
            <img src="http://examepl.com/some.png" title="some image" />
        </div>
        <footer>
            <div id="foot">
                copyright &copy; 2013
            </div>
        </footer>
    </body>
</html>

そして、preg_match_allを使用してimage.phpファイルから画像のみをフェッチしようとしていますが、ブール値(false)を返します:(

私のPHPコード:-

<?php
$file = file_get_contents("image.php");
preg_match_all("/<div class=\"container\">(.*?)</div>/", $file, $match);
preg_match_all("/<img src=\"(.*?)\">/", $match, $images);

var_dump($images);
?>

両方のファイルがルートフォルダーにあり、今では空白のページが表示されています:(

どんな助けでも素晴らしいでしょう

ありがとう

4

4 に答える 4

0

XPath クエリを使用して、必要なものを簡単に取得できます。

$url = 'http://examepl.com/image.php';

$doc = new DOMDocument();
@$doc->loadHTMLFile($url);
$xpath = new DOMXPath($doc);
$srcs = $xpath->query("//div[@class='container']//img/attribute::src");
foreach ($srcs as $src) {
    echo '<br/>' . $src->value; 
}
于 2013-07-17T14:29:47.010 に答える