Как вырезать http:// и https:// из url

usergeyv

Знаток
Регистрация
5 Июл 2013
Сообщения
152
Реакции
25
c http:// все понятно :
PHP:
$url = 'http://yandex.ru';
$url = str_replace('http://', '', $url); // 'yandex.ru'
но иногда в переменную попадает url с https , как проверять и обрезать протоколы?
 
можно так
PHP:
$url = str_replace(array('http://', 'https://'), '', $url);
Можно ещё регулярками.
А проверять, это если необходимо..
 
Ешё вариант с explode.
PHP:
$url = explode('//', $url, 2)[1];

Или использовать parse_url разобрать адрес на компоненты и потом собрать как нужно.
 
Если регулярочкой, то так:

PHP:
php > $url = 'xxx https://sxx.4u/erer/ erer http://eerer.4u/ererxx';
php > echo preg_replace('#https?://#si', '', $url);
xxx sxx.4u/erer/ erer eerer.4u/ererxx
 
Код:
function clear_url($url) {
    $url = preg_replace('/https?:\/\//', '', $url);
    $url = preg_replace('/\//', '', $url);
    return $url;
}
 
str_replace с массивом скорее всего будет работать быстрее
 
Для wordpress есть хороший плагин Better Search Replace
В начальном топике ни слова про Вордпресс
Топикстартеру:

$url = str_replace(array('Для просмотра ссылки Войди или Зарегистрируйся', 'Для просмотра ссылки Войди или Зарегистрируйся', 'Для просмотра ссылки Войди или Зарегистрируйся.'), '', $url);

Это с рабочего кода выдержка. www тоже подтирали , чтобы не дублировать урлы с www и без
 
Назад
Сверху