мой документ не загружает XML-файл при любой попытке - PullRequest
0 голосов
/ 11 ноября 2011

У меня есть следующий фрагмент кода, связанный с моим предупреждением.

$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]);

Проблема с кодом в том, что иногда он успешно загружает ссылку $ xml [0], но иногда это не так.загрузить файл $ xml [0].и выдайте следующие предупреждения.

ПРЕДУПРЕЖДЕНИЕ:

Предупреждение: DOMDocument :: load () [domdocument.load]: синтаксический анализ объявления XML: '?>' ожидается в http://www.kat.ph/search/kung%20fu%20panda/?rss=1, строка: 1 в C: \ wamp \ www \ offlimits \ search_data.php в строке 40

Предупреждение: DOMDocument :: load () [domdocument.load]: ожидается начальный тег, '<' нетнаходится в <a href="http://www.kat.ph/search/kung%20fu%20panda/?rss=1" rel="nofollow">http://www.kat.ph/search/kung%20fu%20panda/?rss=1, строка: 1 в C: \ wamp \ www \ offlimits \ search_data.php в строке 40

Любая помощь интеллектуала будет признательна :)

1 Ответ

0 голосов
/ 11 ноября 2011

Вы убедились, что эти URL действительно работают и возвращают действительные документы XML? Ваш код, хотя и синтаксически исправный, может использовать некоторую дополнительную обработку ошибок.

Особенно при построении этих строк запроса - вы ДОЛЖНЫ urlencode() каждая вставка $ _POST, чтобы результирующий URL был действительным - прямо сейчас. Если кто-то ищет (скажем) alpha & beta, результирующие URL будет выглядеть

 http://example.com?something=alpha & beta

, который содержит пробелы (не слишком хорошие) и будет искать только мир "alpha", поскольку часть "& beta" будет рассматриваться как некоторый ДРУГОЙ параметр запроса.

...