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);