Помгоите отпарсить url с картинкой

Stanisov
На сайте с 15.09.2009
Offline
44
500

Помгоите отпарсить url с картинкой

Есть строка http://site.com?img=http://webproletarian.com/wp-content/uploads/2009/02/obitaemiy_ostrov.jpg

нужно чтоб она принимала только URL с http://, и ftp:// протоколов и картинок с расширением (jpeg|jpg|gif|png)

Есто вообщем такой регуляр

if(eregi('^(http://|ftp://)[a-zA-Z0-9\_\-\/\.]{1,255}\.(jpg|jpeg|gif|png)$',$_GET['img'])) previewpost(htmlspecialchars($_GET['img']));

else echo 'error image';

Но он почему то не все картинки забирает. Например http://webproletarian.com/wp-content/uploads/2009/02/obitaemiy_ostrov.jpg эту нет


Мобильный Форум (http://forum.mobslay.com) MsBB Города Луганска приглашает всех мобильных жителей на обоюдные конференции
L
На сайте с 23.07.2007
Offline
70
#1

Вариант №1

<?php

$string = 'http://site.com/?img=http://webproletarian.com/wp-content...miy_ostrov.jpg';

preg_match_all('/img=((?:http|ftp):\/\/(?:.+)\.(?:jpg|jpeg|gif|png))/iu', $string, $matches);
print_r($matches);

?>

Array
(
[0] => Array
(
[0] => img=http://webproletarian.com/wp-content...miy_ostrov.jpg
)
[1] => Array
(
[0] => http://webproletarian.com/wp-content...miy_ostrov.jpg
)
)

Вариант №2

матч на ссылки и потом `parse_url`

Перечитал пост

тут простой parse_url спасёт.

T0
На сайте с 27.11.2009
Offline
11
#2

Дефис внутри набора должен быть первым или последним символом. Защита с помощью обратного слеша не работает. Защита внутри набора вообще не нужна: точка - это точка, а не любой символ. Вопросительный знак - именно вопросительный знак, а не квантор. А вот дефис будет дефисом только в начале набора или в конце - иначе он задает интервал:

^(http|ftp)://[-a-z0-9_/.]+\.(jpg|jpeg|gif|png)$

E
На сайте с 05.05.2006
Offline
89
#3

Если не увлекаться регулярными выражениями, то


$s = "http://site.com?img=http://webproletarian.com/wp-content...miy_ostrov.jpg";
$ex = explode("?img=", $s);
echo $ex[1];
пансионат для пожилых людей (https://mirnika.ru)
Stanisov
На сайте с 15.09.2009
Offline
44
#4

Да, нет...Тут мне как раз и нужен регуляр... Просто мне нужно определять Image, а не просто страницу с отличным расширением.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий