Реклама на сайте Advertise with us

Регулярка

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 04/08/13 в 13:14       Ответить с цитатойцитата 

подскажите по регулярке.
есть url
http://img1.site.net/pictures/data/150x200/набор_букв_и_цифр

как выдернуть то что написано в 'data'?

0
 



С нами с 01.04.07
Сообщения: 4378
Рейтинг: 2970

Ссылка на сообщениеДобавлено: 04/08/13 в 13:27       Ответить с цитатойцитата 

Конкретней, что именно выдернуть?
А то, можно и так:
Код:

$url = str_replace('http://img1.site.net/pictures/data/150x200/', '', $url);

-1
 

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 04/08/13 в 13:31       Ответить с цитатойцитата 

Lexikon писал:
как выдернуть то что написано в 'data'?


в DATA есть данные которые мне нужно выдергивать со всех таких ссылок.

http://img1.site.net/pictures/DATA/150x200/набор_букв_и_цифр

0
 

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 04/08/13 в 13:37       Ответить с цитатойцитата 

можно конечно и так

Код: [развернуть]


но через регулярку было бы короче и разумнее.

0
 



С нами с 01.04.07
Сообщения: 4378
Рейтинг: 2970

Ссылка на сообщениеДобавлено: 04/08/13 в 13:39       Ответить с цитатойцитата 

А, ну пусть так:

Код:
$url = preg_replace('/http:\/\/([^\/]+)\/([^\/]+)\/([^\/]+)\/(.*)/', "$3", $url);


Кавычки забыл

9
 

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 04/08/13 в 13:45       Ответить с цитатойцитата 

а причем тут поиск и замена?

0
 



С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538


Передовик Master-X (01.11.2009) Передовик Master-X (16.11.2009) Передовик Master-X (01.02.2011) Передовик Master-X (01.12.2011) Передовик Master-X (16.12.2011) Ветеран трепа Master-X (01.01.2014)
Ссылка на сообщениеДобавлено: 04/08/13 в 13:47       Ответить с цитатойцитата 

Код:
(?<=\/data\/)[^/]+

2
 



С нами с 01.04.07
Сообщения: 4378
Рейтинг: 2970

Ссылка на сообщениеДобавлено: 04/08/13 в 13:55       Ответить с цитатойцитата 

Lexikon писал:
а причем тут поиск и замена?

Вам шашечки или ехать?
Можно и через preg_match, но длиннее выйдет. Тогда уж лучше эксплодом.

8
 



С нами с 01.04.07
Сообщения: 4378
Рейтинг: 2970

Ссылка на сообщениеДобавлено: 04/08/13 в 13:56       Ответить с цитатойцитата 

Yacc: слово data обозначает то, что нужно выдернуть.

8
 



С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538


Передовик Master-X (01.11.2009) Передовик Master-X (16.11.2009) Передовик Master-X (01.02.2011) Передовик Master-X (01.12.2011) Передовик Master-X (16.12.2011) Ветеран трепа Master-X (01.01.2014)
Ссылка на сообщениеДобавлено: 04/08/13 в 14:10       Ответить с цитатойцитата 

Ну тогда так:

Код:
(?<=\/pictures\/)[^/]+

icon_smile.gif

2
 



С нами с 03.02.11
Сообщения: 842
Рейтинг: 301

Ссылка на сообщениеДобавлено: 04/08/13 в 16:56       Ответить с цитатойцитата 

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];
если, конечно, запутывать себя \/ и лишними () - тогда, конечно, каша...

8
 



С нами с 12.12.12
Сообщения: 238
Рейтинг: 58

Ссылка на сообщениеДобавлено: 05/08/13 в 21:01       Ответить с цитатойцитата 

если сылки однотипные можно проще без регекспов

Разбиваем строку на подстроки разделитель "/"
Код:

<?

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

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »