Рег.Выражение и <img>

Ramiere

Guest
Рег.Выражение и <img>

с толкнулся с такой проблемой
я использую FCKeditor

моя проблема в чем при использовании регулярного выражения

PHP:
preg_match_all("|<img[\s]*src=\"([^\"]*)\"[^>]*>|is", $_POST['FCKeditor1'], $out);
он находит сылку без проблем если после <img идет src но если при добавлении атрибутов в свойствах изображения(width,Height,Alt и тд) они добавляются FCKeditorom или в ДО SRC или после

помогите пожалуйста составить выражение чтобы независимо от добавления атрибутов до или после SRC он все равно находил SRC

-~{}~ 14.02.06 00:20:

Добавлю я излазил весь форум и Мануалы по PHP и признаюсь у меня ничего не вышло
 

white phoenix

Новичок
PHP:
$string = '<img src="path" alt=Text>';
preg_match_all('~<img(?:.*?)src="(.*?)"(?:.*?)>~is',$string,$matches);
var_dump($matches);
/*
array(2) {
  [0]=>
  array(1) {
    [0]=>
    string(25) "<img src="path" alt=Text>"
  }
  [1]=>
  array(1) {
    [0]=>
    string(4) "path"
  }
}
*/
 

Ramiere

Guest
спасибо огромное помогло... но еще вопросик как обработать сылку на изображение чтоб она выдала все но кроме Img.gif/png и тд?

например сылка http://somehost.ru/Smiles/1.gif

а через выражение показать мне http://somehost.ru/Smiles/
 

white phoenix

Новичок
Ramiere
Приятно помочь человеку который сам хочет себе помочь.
> но еще вопросик как обработать сылку на изображение чтоб она выдала все но кроме Img.gif/png и тд?
PHP:
preg_match_all('~<img(?:.*)src="(.*)(?<!\.gif|\.jpg)"(?:.*)>~siU',$string,$matches);
 

Ramiere

Guest
но еще вопросик как обработать сылку на изображение чтоб она выдала все но кроме Img.gif/png и тд?

например сылка http://somehost.ru/Smiles/1.gif

а через выражение показать мне http://somehost.ru/Smiles/
 

white phoenix

Новичок
А зачем это делать рег. выражением? Можно отсеять результат.
UPD:
PHP:
$string = '<img src="http://site.com/Smiles/1.gif">';
preg_match_all('~<img(?:.*)src="(.*)(?:[^/]*\.(?:gif|png))?"(?:.*)>~siU',$string,$matches);
var_dump($matches[1]);
/*
array(1) {
  [0]=>
  string(23) "http://site.com/Smiles/"
}
*/
 

Ramiere

Guest
Большое спасибо все работает.. буду учить Рег.Выражения со всеми функциями теперь дружу а с Регулярными ну ни в какую :)
 

zarus

Хитрожопый макак
Regex Buddy
Regex Coach
тебе помогут изучить регулярки
 

white phoenix

Новичок
Ramiere
Goooogle. Только вот по поводу их помощи в обучении не знаю... Мне кажется достаточно руководства и preg_match().
 

Ramiere

Guest
я посмотрел программу Regex Buddy для изучения да конечно надо изучать preg_match() но тут в программе есть примеры которые могут помочь в усвоении... Спасибо всем за помощь

-~{}~ 22.02.06 12:38:

У меня тут новый вопрос появился, если в input поле вводят сылку на изображение как ее проверить что сылка валидная?
пример http://www.example.com/image.jpg|gif|png|
или http://www.example.com/image.jpg|gif|png|

-~{}~ 22.02.06 12:40:

У меня тут новый вопрос появился, если в input поле вводят сылку на изображение как ее проверить что сылка валидная?
пример http://www.example.com/image.jpg|gif|png|
или http://www.example.com/image.jpg|gif|png|

-~{}~ 22.02.06 12:41:

У меня тут новый вопрос появился, если в input поле вводят сылку на изображение как ее проверить что сылка валидная?
пример http://www.example.com/image.jpg|gif|png|
или http://www.example.com/image.jpg|gif|png|
 

ksnk

прохожий
Ramiere
3 раза спросить - это так и надо или глюк ? :) Hint: - есть в этом форуме кнопка- редактировать! Рекомендую :)

Что такое "валидная ссылка?". Просто "похожий на валидный УРЛ" или "по этому адресу выдают: http 200 Ok"?
 

chama

Новичок
PHP:
$new_path = "src=\"cid:\\3"; //вместо cid: ставь свой путь, а cid: у меня это для TheBat!
$pattern = '/(src=(\'|").*\/(.*(\.jpg|\.gif|\.png)))/i'; 
echo preg_replace($pattern, $new_path, $_POST["FCKeditor1"]);
 

amorfis

я стараюсь
PHP:
$str1="<IMG style=\"WIDTH: 241px; HEIGHT: 185px\" height=203 alt=\"\" src=\"/files/11_82.jpg\" width=262 align=left border=0>";
preg_match("/<img[^>]+?src\s*=\s*[\"']?([^'\" >]+?)['\"]?\s.*>/i", $str1, $matches);
print_r ($matches);
 
Сверху