私はクーポンコードを抽出しようとしていますが、そのコードが存在する場合は対応するタイトルも取得できますが、そうすることはできません。コードのxpathが存在する場合はxpathを抽出
以下のコードでは、クーポンコードを正しく抽出できますが、どのようにして対応するタイトルを抽出するのですか?あなたには、いくつかのタイトルがクーポンコードをお持ちでないリンクで見ることができるように...コードfusion3k
<?php
$html = file_get_contents('http://www.grabon.in/abof-coupons/'); //get the html returned from the following url
$mydoc = new DOMDocument();
libxml_use_internal_errors(TRUE); //disable libxml errors
if(!empty($html)){ //if any html is actually returned
$mydoc->loadHTML($html);
libxml_clear_errors(); //remove errors for yucky html
$my_xpath = new DOMXPath($mydoc);
//get all the codes
$my_code = $my_xpath->query('//*[@class="coupon-click"]//a//small');
if($my_code->length > 0){
foreach($my_code as $row){
$my_row = $my_xpath->query('//*[@class="h3_click"]');
echo $code->nodeValue . "<br/>";
}
}
}
?>
ありがとうは完璧に動作しますが、私は以下のように別のURLのために試してみましたウルのコードを使用して、エラー通知を取得する:しようとしていますあなたはまた、クーポンのないボックスを取得したい場合は非オブジェクト
<?php
$html = file_get_contents('http://official.deals/ebay-coupons?coupon-id=1055981&h=ed68f1b2a5b28471ecf9584734d65742&utm_source=coupon_page&utm_medium=deal_reveal&utm_campaign=od_deal_click#ebay1055981'); //get the html returned from the following url
$mydoc = new DOMDocument();
libxml_use_internal_errors(TRUE); //disable libxml errors
if(empty($html)) die("EMPTY HTML");
$mydoc->loadHTML($html);
libxml_clear_errors(); //remove errors for yucky html
$my_xpath = new DOMXPath($mydoc);
//////////////////////////////////////////////////////
$result = array();
$nodes = $my_xpath->query('//div[@data-rowtype="1"]');
foreach($nodes as $node)
{
$title = $my_xpath->query('div[@class="cop-head"]/h4', $node)->item(0)->nodeValue;
$found = $my_xpath->query('div[@class="cop-head"]/div/input/value', $node);
$coupon = ($found->length) ? $found->item(0)->nodeValue : '' ;
$result[] = compact('title', 'coupon');
}
echo '<pre>';
print_r($result);
echo '</pre>';
?>
ではなく、その空に、私はスキップすることができ、アレイへのすべての書き込みがとにかくありますか? –
明らかにそこにそれがある!あなたはどのように理解できますか?それはあまりにも難しくありません...ループの中を見てみましょう: '$ coupon =($ found-> length)? $ found-> item(0) - > nodeValue: ''; 'if($ found-> length){$ coupon = ...;}と同じです。 } else {...} '...あなたが道を見つけたら教えてください! – fusion3k
それは大丈夫だよ...あまりにも多く –