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

Статус
В этой теме нельзя размещать новые ответы.

Mapkyc

Профессор
Регистрация
8 Май 2007
Сообщения
107
Реакции
47
Итак.. Есть переменная, скажем $short_story
в ней содержится некий html-код, в котором может быть несколько картинок <img src="..."> или <img src="..."/>
необходимо отчистить $short_story от всех картинок, а адресс первой картинки поместить в $img
 
PHP:
// найдем первую картинку
$img='';

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


Не проверял, но вроде должно работать.
 
  • Заблокирован
  • #3
Итак.. Есть переменная, скажем $short_story
в ней содержится некий html-код, в котором может быть несколько картинок <img src="..."> или <img src="..."/>
необходимо отчистить $short_story от всех картинок, а адресс первой картинки поместить в $img
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);
?>

Как-то так.

Не проверял.
 
PHP:
<?php
$short_story='dffggnhhy<img src="thygt"/>fvgfbb<img src="cfgtb">';
preg_match_all("/<img src=\"(.*)\"/i");
$img=$regs[1][0];
$short_story=preg_replace("/<img.*?>/i", '', $short_story);
?>
Как-то так.
Не проверял.


А если preg_match_all() ничего не нашел? :)
 
  • Заблокирован
  • #5
ошибку в preg_match_all() поправил.
Ну не нашёл и не нашёл.:)
 
У меня код:

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

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

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

т.е.
<img(любой набор символов)src="(адресс который нужно вытащить)"(любой набор символов)>
 
"#<img .+?src=[\"'](\S+?)['\"](.+?)>#i"
 
~<img.*?src="(.*?)"[^>]*>~
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху