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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Регулярка(парсинг ссылок внутри блока), Не могу составить 
:(
    Опции темы
SureGOOD
Дата 27.3.2009, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Не могу составить регулярное выражение, для парсинга ссылок и тем новостей(они идут внутри тега <a>) внутри определенного блока
регулярка имеет вид:
Код

$str='!'.$start.'(.*?)'.$end.'!';
preg_match_all($str,$code,$find);

пример блока 
Код

<div id="news_post_1778" class="clearfix">
  
      <h2>
          <a href="/news/novosti/posts/dom-na-ogorode">Дом на огороде</a>
      </h2>
      <p class="blogTime">2009-03-11 06:18:57 </p>

начало блока:
Код

<div id="news_post_

конец блока:
Код

</a>

в данном случае тема-Дом на огороде. Ссылка /news/novosti/posts/dom-na-ogorode
Проблема в том, что я не могу получить эти блоки, внутри блока парсинг то я устрою, можно было бы узкуюспециализированную регулярку, но парсить я хочу разные сайты, а там может быть по другому построенно. Надеюсь не слишком сумбурно)
PM MAIL   Вверх
enof
Дата 27.3.2009, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Непонятно, в чем проблема?

Добавлено через 2 минуты и 27 секунд
Цитата(SureGOOD @  27.3.2009,  14:48 Найти цитируемый пост)
но парсить я хочу разные сайты, а там может быть по другому построенно

Пишите для каждого сайта свое.Это много времени не займет. Для всех разом не напишите.
PM MAIL ICQ Skype   Вверх
SureGOOD
Дата 27.3.2009, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



ну вот для этого конкретного случая опишите, просто вариант, для каждого свой мне не подходит, нужно универсальные более менее, поэтому я и задаю начало и конец блока.
у меня трабла, что по умолчанию символ точка не соответствует символу перевода строки, а я не знаю, сколько будет разных символов до <a>
PM MAIL   Вверх
enof
Дата 27.3.2009, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Я не совсем понял задачу.
Код

preg_match_all('#<div id="news_post_\d+.*>.*<a href="(.*)".*>(.*)</a>#Uis', $subj, $matches);

Что-то типа этого?
PM MAIL ICQ Skype   Вверх
SureGOOD
Дата 27.3.2009, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



я подобное пробовал..чего-т не катит(и эта тоже
а вообще, да, по смыслу мне именно такое надо)

Это сообщение отредактировал(а) SureGOOD - 27.3.2009, 15:47
PM MAIL   Вверх
enof
Дата 27.3.2009, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

<?php
$str = <<<E
<div id="news_post_1778" class="clearfix">
  
      <h2>
          <a href="/news/novosti/posts/dom-na-ogorode">Дом на огороде</a>
      </h2>
      <p class="blogTime">2009-03-11 06:18:57 </p>
E;
preg_match_all('#<div id="news_post_\d+.*>.*<a href="(.*)".*>(.*)</a>#Uis', $str, $matches);
echo "<pre>";
print_r($matches);
?>

Все работает.

Это сообщение отредактировал(а) enof - 27.3.2009, 15:49
PM MAIL ICQ Skype   Вверх
SureGOOD
Дата 27.3.2009, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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


 




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


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

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