una sencillos resueltos paso normalizar normalizacion normales normal formas forma ejercicios ejemplos datos como 3fn 2fn 1fn php url normalization

php - sencillos - normalizacion de base de datos ejercicios resueltos



¿Cómo aplico las reglas de normalización de URL en PHP? (1)

¿Existe una función o clase preexistente para la normalización de URL en PHP?

Específicamente, siguiendo las reglas de normalización de preservación semántica establecidas en este artículo de wikipedia sobre la normalización de URL (o el "estándar" que debería seguir).

  • Convirtiendo el esquema y el host a minúsculas
  • Capitalizando letras en secuencias de escape
  • Agregar trailing / (a ​​directorios, no a archivos)
  • Eliminar el puerto predeterminado
  • Eliminar segmentos de puntos

En este momento, estoy pensando que parse_url() y aplicaré las reglas individualmente, pero preferiría evitar reinventar la rueda.


Parece que la biblioteca Pear Net_URL2 hará al menos parte de lo que desea. Eliminará segmentos de puntos, corregirá las mayúsculas y eliminará el puerto predeterminado:

include("Net/URL2.php"); $url = new Net_URL2(''HTTP://example.com:80/a/../b/c''); print $url->getNormalizedURL();

Emite:

http://example.com/b/c

Dudo que haya un mecanismo de propósito general para agregar barras diagonales a los directorios porque necesita una forma de asignar URL a los directorios, lo cual es un reto hacerlo de forma genérica. Pero está cerca.

Referencias