Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Регулярка
Новая тема
Ответить
цитата
04/08/13 в 13:14
Lexikon
подскажите по регулярке.
есть url
http://img1.site.net/pictures/data/150x200/набор_букв_и_цифр
как выдернуть то что написано в 'data'?
цитата
04/08/13 в 13:27
Alexandur
Конкретней, что именно выдернуть?
А то, можно и так:
Код:
$url = str_replace('http://img1.site.net/pictures/data/150x200/', '', $url);
цитата
04/08/13 в 13:31
Lexikon
Lexikon писал:
как выдернуть то что написано в 'data'?
в DATA есть данные которые мне нужно выдергивать со всех таких ссылок.
http://img1.site.net/pictures/DATA/150x200/набор_букв_и_цифр
цитата
04/08/13 в 13:37
Lexikon
можно конечно и так
$urlImgFace =
http://img1.site.net/pictures/data/150x200/набор_букв_и_цифр
$pars = explode("/", $urlImgFace);
echo $pars[4];
но через регулярку было бы короче и разумнее.
цитата
04/08/13 в 13:39
Alexandur
А, ну пусть так:
Код:
$url = preg_replace('/http:\/\/([^\/]+)\/([^\/]+)\/([^\/]+)\/(.*)/', "$3", $url);
Кавычки забыл
цитата
04/08/13 в 13:45
Lexikon
а причем тут поиск и замена?
цитата
04/08/13 в 13:47
Yacc
Код:
(?<=\/data\/)[^/]+
цитата
04/08/13 в 13:55
Alexandur
Lexikon писал:
а причем тут поиск и замена?
Вам шашечки или ехать?
Можно и через preg_match, но длиннее выйдет. Тогда уж лучше эксплодом.
цитата
04/08/13 в 13:56
Alexandur
Yacc:
слово data обозначает то, что нужно выдернуть.
цитата
04/08/13 в 14:10
Yacc
Ну тогда так:
Код:
(?<=\/pictures\/)[^/]+
цитата
04/08/13 в 16:56
AWD
gimcnuk писал:
Вам шашечки или ехать?
Можно и через preg_match, но длиннее выйдет. Тогда уж лучше эксплодом.
почему длиннее?
$url = 'http://img1.site.net/pictures/DATA/150x200/набор_букв_и_цифр';
Код:
$data = preg_replace('~.*/pictures/([^/]+).*~', '\1', $url);
echo $data;
или
Код:
preg_match('~/pictures/([^/]+).*~', $url, $data);
echo $data[1];
если, конечно, запутывать себя \/ и лишними () - тогда, конечно, каша...
цитата
05/08/13 в 21:01
12-12-12
если сылки однотипные можно проще без регекспов
Разбиваем строку на подстроки разделитель "/"
Код:
<?
$data = "http://img1.site.net/pictures/data/150x200/набор_букв_и_цифр";
$pieces = explode("/", $data);
echo $pieces[4]."\n";
echo $pieces[5]."\n";
echo $pieces[6]."\n";
?>
результат:
data
150x200
набор_букв_и_цифр
Новая тема
Ответить
Эта страница в полной версии