Es común que en algunos formularios de registro se pida ingresar una Dirección URL y en estos casos el usuario puede estar confundido al ingresar este dato ya que pueden ser dos opciones:
- Indicar únicamente el dominio. Ej: snippets-tricks.org
- Indicar la dirección completa: Ej: http://snippets-tricks.org
El siguiente Snippet se encarga de arreglar la Dirección URL que el usuario ingrese sin importar su formato.
/**
* URL Cleaner
*
* @param string $url
* @param bool $echo = true
* @return string
*/
function cleanURL( $url, $echo = true ) {
$url = preg_replace( '|[^a-z0-9-~+_.?#=!&;,/:%@$\|*\'()\\x80-\\xff]|i', '', $url );
$url = str_replace( ';//', '://', $url );
if ( strpos( $url, ':' ) === false && substr( $url, 0, 1 ) != '/' )
$url = 'http://' . $url;
if ( !$echo )
return $url;
echo $url;
}
Su uso es muy simple:
cleanURL( 'http://snippets-tricks.org' ); cleanURL( 'http;//snippets-tricks.org' ); echo cleanURL( 'snippets-tricks.org', false );
La salida será la siguiente:
http://snippets-tricks.org http://snippets-tricks.org http://snippets-tricks.org