Выдернуть адресс картинкииз переменной

Тема в разделе "PHP", создана пользователем Mapkyc, 11 авг 2010.

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

    Mapkyc Постоялец

    Регистр.:
    8 май 2007
    Сообщения:
    106
    Симпатии:
    45
    Итак.. Есть переменная, скажем $short_story
    в ней содержится некий html-код, в котором может быть несколько картинок <img src="..."> или <img src="..."/>
    необходимо отчистить $short_story от всех картинок, а адресс первой картинки поместить в $img
     
  2. t0os

    t0os

    Регистр.:
    21 окт 2007
    Сообщения:
    284
    Симпатии:
    36
    PHP:
    // найдем первую картинку
    $img='';

    $pattern='~<img src="\s*(.*?)\s*"[^>]*>~';
    if(
    preg_match($pattern$short_story$match))
    {
        
    $img=$match[1];
        
        
    // заменим все картинки
        
    $short_story=preg_replace($pattern''$short_story);
    }

    Не проверял, но вроде должно работать.
     
    Mapkyc нравится это.
  3. Digwnews

    Digwnews Читатель

    Заблокирован
    Регистр.:
    1 мар 2010
    Сообщения:
    127
    Симпатии:
    24
    PHP:
    <?php
    $short_story
    ='dffggnhhy<img src="thygt"/>fvgfbb<img src="cfgtb">';
    preg_match_all("/<img src=\"(.*)\"/i"$short_story$regs);
    $img=$regs[1][0];
    $short_story=preg_replace("/<img.*?>/i"''$short_story);
    ?>
    Как-то так.

    Не проверял.
     
  4. t0os

    t0os

    Регистр.:
    21 окт 2007
    Сообщения:
    284
    Симпатии:
    36

    А если preg_match_all() ничего не нашел? :)
     
  5. Digwnews

    Digwnews Читатель

    Заблокирован
    Регистр.:
    1 мар 2010
    Сообщения:
    127
    Симпатии:
    24
    ошибку в preg_match_all() поправил.
    Ну не нашёл и не нашёл.:)
     
  6. Mapkyc

    Mapkyc Постоялец

    Регистр.:
    8 май 2007
    Сообщения:
    106
    Симпатии:
    45
    У меня код:

    preg_match( "#<img src=[\"'](\S+?)['\"](.+?)>#i", $row[$imgtxt], $matches);

    как исправить, чтобы понимал разные варианты:

    <img src="">
    <img title=...src="">
    <img alt="dd" src=""/>
    и т.д.

    т.е.
    <img(любой набор символов)src="(адресс который нужно вытащить)"(любой набор символов)>
     
  7. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    "#<img .+?src=[\"'](\S+?)['\"](.+?)>#i"
     
  8. t0os

    t0os

    Регистр.:
    21 окт 2007
    Сообщения:
    284
    Симпатии:
    36
    ~<img.*?src="(.*?)"[^>]*>~
     
Статус темы:
Закрыта.