У меня есть некоторые URL-адреса, например www.amazon.com/
, www.digg.com
или www.microsoft.com/
и я хочу удалить www.digg.com
косую черту, если она существует, а не только последний символ. Есть ли trim
или rtrim
для этого?
Вы вставляете rtrim
в свой ответ, почему бы просто не посмотреть его?
$url = rtrim($url,"/");
В качестве примечания обратите внимание на любую функцию PHP, выполнив следующие действия:
( rtrim
означает «Правая отделка»)
Простой и работает как в Windows, так и в Unix:
$url = rtrim($url, '/\\')
Я пришел сюда, чтобы найти способ удалить трейлинг-косую черту и перенаправить браузер, я придумал ответ, который хотел бы поделиться для всех, кто идет за мной:
//remove trailing slash from uri if( ($_SERVER['REQUEST_URI'] != "/") and preg_match('{/$}',$_SERVER['REQUEST_URI']) ) { header ('Location: '.preg_replace('{/$}', '', $_SERVER['REQUEST_URI'])); exit(); }
($_SERVER['REQUEST_URI'] != "/")
Будет избегать URI хоста, например, http://www.amazon.com/, поскольку веб-браузеры всегда отправляют конечную косую черту после имени домена и preg_match('{/$}',$_SERVER['REQUEST_URI'])
будет соответствовать всем другим URI с завершающим косой чертой в качестве последнего символа. Затем preg_replace('{/$}', '', $_SERVER['REQUEST_URI'])
удалит косую черту и передаст в header()
для перенаправления. Функция exit()
важна для прекращения дальнейшего выполнения кода.
$urls="www.amazon.com/ www.digg.com/ www.microsoft.com/"; echo preg_replace("/\b\//","",$urls);