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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Парсинг новостей сайта, Не хочет парсить "тело" новости 
:(
    Опции темы
webevt
  Дата 28.2.2007, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Есть HTML код новости:
Код

<tr>
<td class="main_text_title_and_date_left">Юбилей БК в Минске </td>
<td class="main_text_title_and_date_right"><nobr>28.02.2007 00:33</nobr></td>
</tr>
<tr>
<td class="main_text_alhimic" colSpan=2>
</td>
</tr>
<tr>
<td class="main_text_comments_and_author_left" ><a href="#"><img src="http://img.mercenaries.ru/new/arrow_red_vertical.gif" width="8" height="16" border="0"></a> <a href="../inf/newcomm.php?type=news&page=0&item=45827" class="link_red">комментарии (0), обсуждают (0), рейтинг (1)</a>
<td class="main_text_comments_and_author_right"><nobr>автор: <a href='http://devilscity.combats.ru/inf.pl?login=%D7%E0%F0%EE%E4%E5%E8' target=_blank class="news_author_link">Чародеи</a></nobr></td>
</tr>


Из него надо выбрать название новости, автора, дату и "тело", саму новость.  Название, автора и дату у меня получается забрать оттуда, а вот "тело" никак smile

Вот рега, которой пытаюсь вытащить "тело":
Код

preg_match_all ("/<td class=\"main_text_alhimic\" colSpan=2>.+?<\/td>/m", $newslent_content, $newslent_found_author);


Что не так? smile 
PM MAIL   Вверх
skalex
Дата 28.2.2007, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


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

Репутация: 0
Всего: 23



webevt, а может проблема в отсутствии "тела"? Я не вижу ничего в блоке <td class="main_text_alhimic" colSpan=2></td>
PM   Вверх
mishaSL
Дата 28.2.2007, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 9
Всего: 54



Если в тексте нет тегов, то:
Код

<?php
$str = <<<TEXT
<tr>
<td class="main_text_title_and_date_left">Юбилей БК в Минске </td>
<td class="main_text_title_and_date_right"><nobr>28.02.2007 00:33</nobr></td>
</tr>
<tr>
<td class="main_text_alhimic" colSpan=2>tetx text fdsg 
</td>
</tr>
<tr>
<td class="main_text_comments_and_author_left" ><a href="#"><img src="http://img.mercenaries.ru/new/arrow_red_vertical.gif" width="8" height="16" border="0"></a> <a href="../inf/newcomm.php?type=news&page=0&item=45827" class="link_red">комментарии (0), обсуждают (0), рейтинг (1)</a>
<td class="main_text_comments_and_author_right"><nobr>автор: <a href='http://devilscity.combats.ru/inf.pl?login=%D7%E0%F0%EE%E4%E5%E8' target=_blank class="news_author_link">Чародеи</a></nobr></td>
</tr>
TEXT;

preg_match("/<td\s*class=\"main_text_alhimic\"\s*colspan=2>([^<>]*)<\/td>/i", $str, $match);
var_dump($match);
?>



--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
skalex
Дата 28.2.2007, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


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

Репутация: 0
Всего: 23



Вот рецепт:
Код
preg_match_all('/<td class=\"main_text_alhimic\" colSpan=2>(.*?)<\/td>/ms', $str, $m);


webevt, забыли про модификатор s, который добавляет в класс . символы перевода строки.

Это сообщение отредактировал(а) skalex - 28.2.2007, 17:31
PM   Вверх
webevt
Дата 28.2.2007, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



skalex, нет, я его убрал, чтоб меньше места занимало


mishaSL, теги есть, и много smile


skalex, с модификатором s попробую smile
PM MAIL   Вверх
skalex
Дата 28.2.2007, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


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

Репутация: 0
Всего: 23



webevt, отпишись о результатах! smile
PM   Вверх
mishaSL
Дата 28.2.2007, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 9
Всего: 54



Цитата(webevt @  28.2.2007,  17:45 Найти цитируемый пост)
mishaSL, теги есть, и много


Так должно работать:
Код

<?php
$str = <<<TEXT
<tr>
<td class="main_text_title_and_date_left">Юбилей БК в Минске </td>
<td class="main_text_title_and_date_right"><nobr>28.02.2007 00:33</nobr></td>
</tr>
<tr>
<td class="main_text_alhimic" colSpan=2><a>tetx 
<td><b>text</b></td> fdsg</a>
</td>
</tr>
<tr>
<td class="main_text_comments_and_author_left" ><a href="#"><img src="http://img.mercenaries.ru/new/arrow_red_vertical.gif" width="8" height="16" border="0"></a> <a href="../inf/newcomm.php?type=news&page=0&item=45827" class="link_red">комментарии (0), обсуждают (0), рейтинг (1)</a>
<td class="main_text_comments_and_author_right"><nobr>автор: <a href='http://devilscity.combats.ru/inf.pl?login=%D7%E0%F0%EE%E4%E5%E8' target=_blank class="news_author_link">Чародеи</a></nobr></td>
</tr>
TEXT;

preg_match("/<td\s*class=\"main_text_alhimic\"\s*colspan=2>(.*?)<\/td>\s*<\/tr>\s*<tr>\s*<td\s*class=\"main_text_comments_and_author_left\"\s*>/is", $str, $match);
var_dump($match);
?>



--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
webevt
Дата 28.2.2007, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



skalex, рецепт работает smile Спасибо smile 
PM MAIL   Вверх
webevt
Дата 28.2.2007, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



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


 




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


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

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