4

いくつかの URL があり、これらの URL のすべての html には、タグに次のタグが含まれています

 <link rel="image_src" href="http://imgv2-4.scribdassets.com/img/word_document/15490455
  /164x212/8a4ab0c34b/1337732662" />

次のコードを使用しています

    $url = 'my url';
    $ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);    // The url to get links from
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // We want to get the respone
$result = curl_exec($ch);

$regex='|<a.*?href="(.*?)"|';
preg_match_all($regex,$result,$parts);
$links=$parts[1];
foreach($links as $link){
    //if(strpos($link,'format=json') !==false) {
        echo $link;
    //}
}

このリンクの href を取得したいのですが、方法がわかりません。私を助けてください

ありがとう

4

3 に答える 3

2

preg_matchではなく、HTMLを介したPHPのDOMDocumentを使用する方が好きです。このようなものが機能するはずです:

$xpath = new DOMXPath($result);
$links = $xpath->query('//link[@rel="image_src"]');
foreach ($links as $link) {
     $src = $link->nodeValue;
}
于 2012-07-02T21:32:57.167 に答える
0

そのようです

    <?php
    $url = 'http://www.scribd.com/doc/15490455/Learning-PHP-5';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);    // The url to get links from
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // We want to get the respone
    $result = curl_exec($ch);

    $regex='#.*link rel=\"image_src\" href=\"(.*)\"./>#';
    preg_match($regex,$result,$parts);

    foreach ($parts as $part) {
       echo = $part;
    }
    ?>
于 2012-07-02T21:15:56.707 に答える