online - La mejor manera de eliminar barras diagonales en URL con PHP
urlencode online (4)
Tengo algunas URL, como www.amazon.com/
, www.digg.com
o www.microsoft.com/
y deseo eliminar la barra al final, si existe, así que no solo el último carácter. ¿Hay un trim
o rtrim
para esto?
Simple y funciona tanto en Windows como en Unix:
$url = rtrim($url, ''///')
Vine aquí buscando una forma de eliminar la barra diagonal y redirigir el navegador, he encontrado una respuesta que me gustaría compartir para cualquiera que venga después de mí:
//remove trailing slash from uri
if( ($_SERVER[''REQUEST_URI''] != "/") and preg_match(''{/$}'',$_SERVER[''REQUEST_URI'']) ) {
header (''Location: ''.preg_replace(''{/$}'', '''', $_SERVER[''REQUEST_URI'']));
exit();
}
El ($_SERVER[''REQUEST_URI''] != "/")
URI del host, por ejemplo, www.amazon.com/, ya que los navegadores web siempre envían una barra posterior después de un nombre de dominio , y preg_match(''{/$}'',$_SERVER[''REQUEST_URI''])
coincidirá con el resto de URI con barra inclinada como último carácter. Entonces preg_replace(''{/$}'', '''', $_SERVER[''REQUEST_URI''])
eliminará la barra y la entregará al header()
para redirigir. La función exit()
es importante para detener cualquier ejecución de código adicional.
rtrim
en tu respuesta, ¿por qué no lo rtrim
?
$url = rtrim($url,"/");
Como nota al margen, busque cualquier función de PHP haciendo lo siguiente:
( rtrim
significa '' rtrim
correcto'')
$urls="www.amazon.com/ www.digg.com/ www.microsoft.com/";
echo preg_replace("//b///","",$urls);