Verifica y Limpia una URL


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:

  1. Indicar únicamente el dominio. Ej: snippets-tricks.org
  2. 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

Posted in

Leave a Reply