Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> парсер XML, не видит XML тэги 
:(
    Опции темы
supercelt
Дата 31.10.2009, 03:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 658
Регистрация: 25.8.2005

Репутация: нет
Всего: 1



Помогите пожалуйста. Нужно просто просканить ленту RSS, выдернуть из неё всё что встречается между <item></item>

Код

function get_search_bazos($lines, $url)
{
global $done_2;
    foreach($lines as $line)
    {
    $line = urlencode($line);
    $page = @file_get_contents($url.$line); 
    
    preg_match_all('!<item>(.*?)</item>!', $page, $output);

        for($i=0; $i < count($output[0]); $i++)
        {
        $str = $output[0][$i];
        $done_2 .= $str.'<br />';
        }
        
    $done_2 .= '<br /><br />';
    $done_2 .= '<hr>';
    }
return $done_2;    
}

$lines = file('words.txt');
$url_2 = 'http://www.bazos.cz/rss.php?hledat=';
$done_2 = '';

echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>destroy obuv - Seznam</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>';
echo get_search_bazos($lines, $url_2);
echo '</body></html>'; 


При скане, отдаваемый код такой:
Код

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Bazos.cz - recept</title><link>http://www.bazos.cz/</link>
<description>Bazoš - internetový bazar, on-line inzerce zdarma.</description>
<language>cs</language>

  <item>
    <title>KRÁSNÁ KUCHAŘKA -    200</title>
    <link>http://knihy.bazos.cz/inzerat/4498850/KRASNA-KUCHARKA.php</link>
    <description><![CDATA[<img src="http://www.bazos.cz/knihy/obr/1t/4498850.jpg" class="obrazek" />Prodám krásnou kuchařku, kde vaří známé hlasatelky a radí své oblíbené recepty. Kuchařka je úplně nová, nepoužitá, byl to nevhodný dárek, tak posílám dál. Vhodný dárek třeba k vánocům. ...]]></description>
    <pubDate>Fri, 30 Oct 2009 19:04:24 +0100</pubDate>
  </item>
  <item>
    <title>Přirozená cesta ke kráse -    140</title>
    <link>http://knihy.bazos.cz/inzerat/4497760/Prirozena-cesta-ke-krase.php</link>
    <description><![CDATA[Autor: Maria - E. Langeová - Ernstová. Témata knihy: jak šetrně pečovat o pleť a vlasy, praktické návody a recepty na přírodní kosmetické přípravky. 1x čtená, 127 stran, formát trochu větší než A5. ...]]></description>
    <pubDate>Fri, 30 Oct 2009 16:26:55 +0100</pubDate>
  </item>

</channel>
</rss>


Фишка в том, что тоже самое проделывал с HTML документом, всё работало, я искал что между тэгами <table></table>. А вот XML тэги <item></item> регулярка не видит
PM   Вверх
bars80080
Дата 31.10.2009, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 2
Всего: 315



если это валидный xml, то его можно разобрать с помощью готовых библиотек
PM MAIL WWW   Вверх
supercelt
Дата 31.10.2009, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 658
Регистрация: 25.8.2005

Репутация: нет
Всего: 1



bars80080, согласен, просто интересно почему регулярка не видит эти тэги? Хотя в исходном коде они есть
PM   Вверх
brother79
Дата 6.11.2009, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 471
Регистрация: 18.8.2009

Репутация: нет
Всего: 6



попробуй 

Код

preg_match_all('/\<item\>(.*?)\<\/item\>/i s', $page, $output);


Можно конечно и с твоим разделителем, но я обычно пользуюсь тем, что указал


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0432 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.