5

私はこれを持っています:

<a href="/Dealer-Catalog/ManufacturerID-3"><img class="brand-logo" src="http://www.teledynamics.com/tdresources/74c42cb2-dc7f-4548-b820-2946fbe160db.jpg" onerror="this.src='/Content/Css/Images/no_brand_logo_120_48.gif'" alt="ADTRAN"></a>

img src の入手方法 (http://www.teledynamics.com/tdresources/74c42cb2-dc7f-4548-b820-2946fbe160db.jpg)

私はこれが最後のものだと多くのことを考えてみました:

$doc = new DOMDocument();
libxml_use_internal_errors(true);
$doc->loadHTML($html);
$xpath = new DOMXPath($doc);
$src = $xpath->evaluate("string(//class='brand-logo']/img/@src)");
echo "$src";
4

4 に答える 4

6

それは適切な XPath 構文ではありません。試す

$nodes = $xpath->query("//img[@class='brand-logo']");
$src = $nodes->item(0)->getAttribute('src');

最初に、必要な src を持つイメージを表す NODE をフェッチし、次に src 属性を取得します。->query() 呼び出しは、ノードではなく DOMNodeList を返すことに注意してください。

于 2012-09-26T14:04:40.867 に答える
3

このようにしてみてください

    <?php
    $html = '<a href="/Dealer-Catalog/ManufacturerID-3">
        <img class="brand-logo" src="http://www.teledynamics.com/tdresources/74c42cb2-dc7f-4548-b820-2946fbe160db.jpg"  alt="ADTRAN" />
        </a>';

    $xml = simplexml_load_string($html);
    echo $xml->img['src'];
    ?>
于 2012-09-26T14:17:23.797 に答える
1

このようにしてみてください

<?php 
$doc=new DOMDocument();
$doc->loadHTML('<a href="/Dealer-Catalog/ManufacturerID-3">
        <img class="brand-logo" src="http://www.teledynamics.com/tdresources/74c42cb2-dc7f-4548-b820-2946fbe160db.jpg"  alt="ADTRAN" />
        </a>');
$xml=simplexml_import_dom($doc); // just to make xpath more simple
$images=$xml->xpath('//img');
foreach ($images as $img) {
    echo $img['src'];


}?>
于 2012-09-26T14:27:29.213 に答える
0

string()xpath を使用すると、ノード値を指定して、属性を直接クエリできます。

$src = $xpath->evaluate("string(//img[@class='brand-logo']/@src)");

しかし、あなたのケースでそれがどのように行われるのか見当がつかないと言って本当に申し訳ありませんpreg_match;)

于 2012-09-26T14:14:26.123 に答える