2011-11-10 14 views
0

私は以下のサブコードを私の警告に関連させています。コードと私のdomdocumentはすべてXMLファイルをロードしません

$xml[0]="http://www.kat.ph/search/".$_POST['search']."/?rss=1"; //http://www.kat.ph 
$xml[1]="http://isohunt.com/js/rss/".$_POST['search']."?iht="; //http://isohunt.com 
$xml[2]="http://btjunkie.org/rss.xml?query=".$_POST['search']."&q=".$_POST['search']."&o=52";//http://btjunkie.org   
$xml[3]="http://www.torrentreactor.net/rss.php?search=".$_POST['search'].""; //http://www.torrentreactor.net 

$xmlDoc = new DOMDocument(); 

for($site_count=0;$site_count<=3;$site_count++) //LOoP for moving arround all four site 

{ 
    $xmlDoc->load($xml[$site_count]); 

問題は、いくつかの回、それが[0]は正常にリンク$ XMLをロードするということですが、いくつかの時間、それは、$ XML [0]ファイルをロードしません。次の警告を出してください。

WARNING:

警告:のDOMDocument ::負荷()[domdocument.load]:解析するXML宣言: '?>' http://www.kat.ph/search/kung%20fu%20panda/?rss=1に期待、ライン:Cで1:\ WAMP \ WWW \ offlimits \ search_data.php行に40

警告:のDOMDocument ::負荷()[domdocument.load]:Cで1:、http://www.kat.ph/search/kung%20fu%20panda/?rss=1に見つかりません '<'、ライン期待タグを起動\ WAMP \ WWW \ offlimits \ search_data.php on line 40

インテリジェントの助けを借りていただければ幸いです。

答えて

0

これらのURLが実際に動作しており、有効なXML文書を返すことを確認しましたか?あなたのコードは、構文的にはうまくいくものの、さらにエラー処理を使うことができます。特に、これらのクエリ文字列の建設に

- あなたはurlencode()結果のURLが有効であるように、各$ _POST挿入が必要があります - 今、誰かがを検索した場合(例えば)alpha & beta、結果のURLは

http://example.com?something=alpha & beta 
のようになります。

にはスペースが含まれています(それほどうまくありません)。 "&ベータ"部分はその他のクエリパラメータとして扱われるため、世界の "alpha"のみを検索します。

関連する問題