0

私はここに新しく、php の最近のユーザーです。削除できない DOM ドキュメントでこの問題が発生しています。

実際、このコードは他の HTML ドキュメントに対しては既に機能していますが、この最後のドキュメントでは機能しません:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="http://r22.csmres.co.uk/_common/js/min/yui.js"></script>
<script type="text/javascript" src="http://r22.csmres.co.uk/_common/js/min/cp.js"></script>
<script type="text/javascript" src="http://r22.csmres.co.uk/_common/js/min/udm.js"></script>
<script type="text/javascript" src="http://r22.csmres.co.uk/_common/js/swfobject.js"></script>
<script type="text/javascript">
    var Event = YAHOO.util.Event, Dom = YAHOO.util.Dom, $ = Dom.get;
    Event.onDOMReady(function() {
        csm_search.init('search-text', 'search-btn');
        if (pagePeel != 'undefined') { sizedown987(); }
    });
</script>
<!-- S:22 -->
<!-- G:16_08_54 -->
...

<title>Awesome Title</title>
</head>
...
</html>

そして、私のPHPコードは次のようになります:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'NewsD');

$resultat = utf8_decode(curl_exec($ch));
curl_close($ch);

$Page = new DOMDocument();
@ $Page->loadHTML($resultat);    
$title = $Page->getElementsByTagName('title')->item(0)->nodeValue;

このコードをいくつかのドキュメント (または URL 入力変数を含む Web ページ) に使用しましたが、出力 $title が空であるため、最後のコードは機能しません。そして、私はその理由を理解できません!

ご助力ありがとうございます !

アーサー

4

1 に答える 1

1

私は自分の問題に対する答えを見つけました。実際、私の同僚が見つけました。

curlopt_returntransfer は、すべてのテキストを削除したドキュメントを返していました。そこで彼は、関数がページに含まれるすべてのテキストを返すことを確認するために、このコードを追加しました。

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; rv:27.0) Gecko/20100101 Firefox/27.0');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$resultat = curl_exec($ch);
curl_close($ch);
于 2014-02-26T15:24:22.453 に答える