Помогите с регуляркой

Тема в разделе "PHP", создана пользователем verfaa, 26 мар 2011.

Модераторы: latteo
  1. verfaa

    verfaa

    Регистр.:
    29 янв 2007
    Сообщения:
    375
    Симпатии:
    41
    Пытаюсь парсить истории с сайта

    http://www.eroromance.com/story-1845.html

    Нужен title и сам текст истории. С title проблем нет, регулярка
    PHP:
    preg_match('#<title>(.*?)</title>#i',$content,$title);
    вытягивает в $title[1] то что мне нужно.
    А вот с текстом истории вообще ничего не получается, регулярка
    PHP:
    $pattern '#right:10px\">(.*?)<p>#i';
    preg_match($pattern,$content,$text);
    не работает( Хотя по идее должна работать, никак не могу понять что в ней не так. Двоеточие ведь не нужно экранировать? Помогите плиз)
     
  2. Murdok

    Murdok

    Регистр.:
    1 окт 2006
    Сообщения:
    236
    Симпатии:
    84
    уберите в контенте переводы строк \r \n
    думаю изза них у вас и не получается, так как на переводах строк останавливается
    Код:
     $content = str_replace(array("\r","\n"),"",$content);
    уверен это должно помочь.
     
  3. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.036
    Симпатии:
    699
    PHP:
    $pattern '#right:10px\">(.*?)<p>#si';
    добавь модификатор s и все будет :ay:
     
  4. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102
    PHP:
    $pattern '#right:10px\">([^<]+?)<#i'
    preg_match($pattern,$content,$text);  
     
  5. Murdok

    Murdok

    Регистр.:
    1 окт 2006
    Сообщения:
    236
    Симпатии:
    84
    Ваш вариант остановится на первом теге <br>, глянули бы сперва на саму статью.