Подскажите по php плз.

12
P
На сайте с 02.06.2006
Offline
123
622

я в php не оч., помогите кто знает

вопрос не оч сложный.

есть переменная

$full_url = 'site.ru/page_1.php';

мне нужно получить из нее переменную

$url = 'page_1.php';

КАК?

rbbumfirst
На сайте с 03.04.2009
Offline
87
#1

$f = explode("/",$full_url);

$url = $f[1];

Web developer (http://rudov.com). разработка на Go, ReactJS, React Native
LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#2

или

$url=str_replace('site.ru/','',$full_url);

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
A
На сайте с 19.07.2010
Offline
130
#3
LEOnidUKG:

$url=str_replace('site.ru/','',$full_url);

может быть проблема если урл будет site.ru/page_from_site.ru.php

я бы так написал


$url = preg_replace('%^site\.ru/%i', '', $full_url)
.............
C
На сайте с 04.02.2005
Offline
291
#4

смотрим в parse_url()

DiAksID
На сайте с 02.08.2008
Offline
236
#5
admak:
... я бы так написал


$url = preg_replace('%^site\.ru/%i', '', $full_url)

и зря, любая из preg_* функций настолько прожорлива, что стоит следовать правилу - применять их только если нет другого выхода, в самом крайнем случае ;) хуже них только ereg_*

имхо, самое экономичное и короткое будет типа того, что уже предлагали:


list( $host, $url ) = explode( '/', $full_url );

конечно, если заранее известен железный паттерн для $full_url

show must go on !!!...
rbbumfirst
На сайте с 03.04.2009
Offline
87
#6
Chukcha:
смотрим в parse_url()

лучший вариант

LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#7
и зря, любая из preg_* функций настолько прожорлива, что стоит следовать правилу

На IBM386 вам поверю.

Тесты уже делал и сюда выкладывал.

На 1 секунду начинают тормозить, когда проходит более 500 000 циклов. В обычном порядке, всё выполняется мгновенно и уже забудьте про то, что регулярки тормозят, это прошлый век.

DiAksID
На сайте с 02.08.2008
Offline
236
#8
LEOnidUKG:
На IBM386 вам поверю...

этот вопрос не из области веры, верьте хоть в вуду коду это по барабану. вопрос из области эффективности и "ловли блох"...

A
На сайте с 19.07.2010
Offline
130
#9
DiAksID:
и зря, любая из preg_* функций настолько прожорлива, что стоит следовать правилу - применять их только если нет другого выхода, в самом крайнем случае ;)

намного важнее писать более-менее универсальный и однотипный код, чтобы меньше делать ошибки.


имхо, самое экономичное и короткое будет типа того, что уже предлагали:

list( $host, $url ) = explode( '/', $full_url );

конечно, если заранее известен железный паттерн для $full_url

$full_url = 'site.ru/123/page_1.php';

и каждый раз, под каждый паттерн писать быстрый код? :)

DiAksID
На сайте с 02.08.2008
Offline
236
#10
admak:
... и каждый раз, под каждый паттерн писать быстрый код? :)

у ТС как бе конкретное "TЗ" и нужно решение, просьбы выдумывать возможные варианты начальных условий как бе нет. не стоит плодить сущности (с) ...

12

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