Парс текста

Тема в разделе "PHP", создана пользователем pro10026, 5 дек 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. pro10026

    pro10026 Постоялец

    Регистр.:
    10 мар 2010
    Сообщения:
    58
    Симпатии:
    1
    Прошу помощи!
    Текст берется из переменной. Пусть будет $row. Новость состоит из картинки и текста. Нужно отфильтровать тест а именно исключить ссылку на картинку. То есть:
    PHP:
    [center][thumb]http://www.site.ru/uploads/posts/2010-12/1291550379_6ab20fc38ac31b3c6422eb21f91bd46d.jpg[/thumb][/center]
    а так же:
    PHP:
    [center][img]http://www.site.ru/uploads/posts/2010-12/1291550379_6ab20fc38ac31b3c6422eb21f91bd46d.jpg[/img][/center]
    и конечно же нужен текст без прослешивания кавычек.
    Буду благодарен за помощь!
     
  2. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    Если ты научишься ясно и грамотно излагать свою мысль, людям будет легче помогать тебе.

    если отсюда убрать то, что ты написал
    PHP:
    [center][thumb]http://www.site.ru/uploads/posts/2010-12/1291550379_6ab20fc38ac31b3c6422eb21f91bd46d.jpg[/thumb][/center]
    то останется
    PHP:
    [center][thumb][/thumb][/center]
    В дальнейшем возьми на заметку, что если хочешь получить результат, нужно знать что брать и что из этого должно получиться.
     
  3. pro10026

    pro10026 Постоялец

    Регистр.:
    10 мар 2010
    Сообщения:
    58
    Симпатии:
    1
    Действительно натупил, извините!
    Я имел введу ссылку на картинку и ее выравнивание в DLE. Все это выражение
    PHP:
    [center][thumb]http://www.site.ru/uploads/posts/2010-12/1291550379_6ab20fc38ac31b3c6422eb21f91bd46d.jpg[/thumb][/center]
     
  4. dfcbkbq1

    dfcbkbq1 Постоялец

    Регистр.:
    4 май 2009
    Сообщения:
    88
    Симпатии:
    9
    Найди simple_html_dom. Он поможет. (Описалово на сайте)
    Инклюдишь в свой парсер, и дальше - хочешь, получаешь все урлы со страницы, хочешь только текст без html тегов.
    Покури описание этой приблуды.
     
  5. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    PHP:
    $row preg_replace('#(\[center\]\s*\[(thumb|img)\]\s*[^[]*\s*\[\/(thumb|img)\]\s*\[\/center\])#i'''$row);
     
  6. pro10026

    pro10026 Постоялец

    Регистр.:
    10 мар 2010
    Сообщения:
    58
    Симпатии:
    1
    не работает, картинку пропускет(
     
  7. B0nuse

    B0nuse Постоялец

    Регистр.:
    6 июн 2009
    Сообщения:
    105
    Симпатии:
    21
    PHP:
    $row preg_replace('/\[center\]\[(thumb|img)\].*\[\/(thumb|img)\]\[\/center\]/i'''$row);
    пробелов между бб-кодами быть не должно
     
  8. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    проверял комбинации кодов, всё удаляет
    PHP:
    $row 'aa
    [center][thumb]http://www.site.ru/uploads/posts/2010-12/1291550379_6ab20fc38ac31b3c6422eb21f91bd46d.jpg[/thumb][/center]bb
    11[center][img]http://www.site.ru/uploads/posts/2010-12/1291550379_6ab20fc38ac31b3c6422eb21f91bd46d.jpg[/img][/center]22
    33
    [center]    
    [img]   
    http://www.site.ru/uploads/posts/2010-12/1291550379_6ab20fc38ac31b3c6422eb21f91bd46d.jpg
    [/img]
    [/center]'
    ;
                                                              
    $row preg_replace('#(\[center\]\s*\[(thumb|img)\]\s*[^[]*\s*\[\/(thumb|img)\]\s*\[\/center\])#i'''$row);

    echo 
    $row;
    может ещё какие коды с картинками там там есть?
     
  9. pro10026

    pro10026 Постоялец

    Регистр.:
    10 мар 2010
    Сообщения:
    58
    Симпатии:
    1
    Вот что я хотел сделать=
    Есть код:
    PHP:
            $korotko substrstrip_tags($row['short_story']), 0560 )."...";        
            
    $shortnews $row['short_story'];
            
    $noimage "http://dvigov.net/uploads/posts/2010-09/thumbs/1284128657_no-image.jpg";
            if (
    preg_match_all'#<img[^>]*\\ssrc=(\'|")(.*?)\\1.*?>#i',$shortnews,$total))
            foreach( 
    $total[2] as $shortnews )
            {
            
    $tpl->set'{imgbla}',$shortnews);
            } else {
            
    $tpl->set'{imgbla}',$noimage);
            }
            
    $tpl->set'{korotko}',$korotko);
            
            
    $tpl->compile'content' );
    При его использовании тег вывода новости в шаблон - {shortnews}разбивался на отдельную картинку {imgbla} и сам текст {korotko}. Проблема лишь в том что при использовании {korotko} все кавычки прослешивались! К примеру \"горячие новинки\". Я думал что получиться просто отцепить картинку от новости и выводить её тегом {imgbla} а текст по прежнему {shortnews}. Нифига не выходит. Я нуб(
     
  10. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.036
    Симпатии:
    699
    попробуй так
    PHP:
    $korotko=str_replace('"','&quot;',$korotko);
     
Статус темы:
Закрыта.