-1

私は Commission Junction api に取り組んでおり、CJ からリンク URL と画像 URL を抽出したいので、このスクリプトを作成しましたが、出力は期待したものではありません。echo $mat[0] が見つからないことがわかります。どうすれば解決できますか? ありがとう

Code:

$URI = 'https://linksearch.api.cj.com/v2/link-search?'.
            'website-id=1234567'.
            '&advertiser-ids=adid'.
            '&link-type=text+link'.
            '&records-per-page=1';
$context = stream_context_create(
                array('http' => 
                            array(
                                'method' => 'GET',
                                'header' => 'Authorization: 'myapiid'
                            )
                )
            );

$data = new SimpleXMLElement(file_get_contents($URI, false, $context));
foreach ($data->links[0] as $link) 
{
    // Sanitize data.
    $pd     =   $link->{'link-code-html'};
    echo var_dump($pd);
    preg_match('#<img\s+src\s*=\s*"([^"]+)"#i',$pd,$mat);
    preg_match('#<a\s+href\s*=\s*"([^"]+)"[^>]*>([^<]+)</a>#i',$pd,$matches);
    echo '<pre>';
    print_r($matches);
    echo $matches[1];
    print_r($mat);
    echo $mat[0];
    echo '</pre>';
}

OUTPUT:
object(SimpleXMLElement)[5]
  string '<a href="http://www.dpbolvw.net/click-1234567-42452100">Save up to 70% on Airport Parking</a><img src="http://www.tqlkg.com/image-1234567-42452100" width="1" height="1" border="0"/>' (length=181)

Array
(
    [0] => Save up to 70% on Airport Parking
    [1] => http://www.dpbolvw.net/click-1234567-42452100
    [2] => Save up to 70% on Airport Parking
)
http://www.dpbolvw.net/click-1234567-42452100Array
(
    [0] =>  http://www.tqlkg.com/image-1234567-42452100
)
4

2 に答える 2