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\/)[^/]+

icon_smile.gif
цитата
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
набор_букв_и_цифр


Эта страница в полной версии