Funciones para el tratamiento de cadenas de caracteres especiales en HTML
En este capítulo conoceremos algunas funciones que PHP incluye para el tratamiento de cadenas especificas para su integración con HTML, así como para gestionar algunos aspectos del entorno web, aunque mas adelante conoceremos detalles mas avanzados.
Es muy común que el contenido de una variable alfanumérica deba ser mostrado en la página, y también es es común que contenga determinados caracteres que no correspondan al alfabeto internacional.
Como usted sabe, en HTML se contempla que determinados caracteres deben ser sustituidos por las entidades. Por ejemplo, la letra "ñ", se escribe como: "ñ"; para que todos los navegadores del mundo puedan reconocerlo y mostrarlo sin problemas.
Sin embargo PHP no traduce directamente estos caracteres.
Para realizar una correcta transcripción de dichos caracteres, PHP cuenta con algunas funciones que nos permiten una correcta transcripción.
- Función htmlentities()
Veamos el siguiente código:
<html>Vera que cuando cargamos el codigo fuente de la página, se mostrara la ñ como ñ.
<body>
<?php
$cadena="España";
echo (htmlentities($cadena));
?>
</body>
</html>
- Función get_html_table()
Esta función nos genera una matriz asociativa con todas las entidades que contempla HTML.
Al ser una matriz asociativa, la clave de cada elemento es el caracter y el valor es la entidad.
Observe el siguiente script:
<html>Al cargar el script, se despliega una tabla con todas las entidades HTML, de caracteres no reconocidos en el alfabeto internacional.
<body>
<?php
$matrizDeEntidades=get_html_translation_table(HTML_ENTITIES);
echo ("<table border='2' cellpadding='2' cellspacing='4'>\n");
echo ("<tr>\n");
echo ("<th colspan='16'>LISTADO DE ENTIDADES HTML</th>\n");
echo ("</tr>\n<tr>\n");
for ($contador=0; $contador<8; $contador++){
echo ("<td>Car.</td>\n<td>Entidad</td>\n");
}
echo ("</tr>\n");
echo ("<tr>\n");
$contador=0;
foreach ($matrizDeEntidades as $clave=>$valor){
$valor=substr($valor,1);
echo ("<td>$clave</td>\n<td>&$valor</td>\n");
$contador++;
if ($contador>7){
echo ("</tr>\n<tr>\n");
$contador=0;
}
}
echo ("</tr>\n");
echo ("</table>");
?>
</body>
</html>
Observe como hemos empleado la función get_html_translation_table().
- Como argumento le hemos pasado HTML_ENTITIES, una constante de PHP que hace referencia a la lista de entidades.
- La alternativa sería haberle pasado HTML_SPECIALCHARS, sin embargo el resultado sería mucho mas pobre.
- Función parse_url()
Esta función recibe como argumento la dirección de un documento de internet o de una Intranet, y devuelve una matriz con todos los elementos que forman dicha dirección.
Observe el siguiente script:
<html>Los datos que muestra la URL son:
<body>
<?php
$datosDeURL=parse_url("http://username:password@hostname/path?arg=value#anchor");
echo ("<table border='2' cellpadding='2' cellspacing='2'>\n");
echo ("<tr>\n<th colspan='2'>DATOS DE URL</th>\n");
echo ("<tr>\n<th>Dato</th>\n<th>Valor</th>\n");
echo ("</tr>\n");
foreach ($datosDeURL as $clave=>$valor){
echo ("<td>$clave</td>\n<td>$valor</td>\n</tr>\n<tr>\n");
}
echo ("</tr>\n");
echo ("</table>\n");
?>
</body>
</html>
DATO
|
CONTENIDO
|
scheme
|
Indica el protocolo de comunicación.
Normalmente suele ser http.
Sin embargo, puede ser ftp,
file, etc. Dependiendo de la comunicación establecida con el recurso.
|
host
|
Indica la dirección IP o el
nombre del servidor
|
port
|
El número del puerto en el que
se espera que el servidor escuche
|
user
|
El login del usuario que accede
al recurso
|
password
|
La calve de acceso del usuario
especificado
|
path
|
La ruta, dentro del host, donde
esta ubicado el recurso.
|
query
|
Los datos que se le pasan al
recurso, como es el caso de campos de un formulario, enviado mediante GET.
Se encuentra después del signo ?
|
fragment
|
Indica lo que está después del
signo de gato #
|
En la mayoría de los casos, la URL, no tiene especificados todos los elementos anteriores.
Recuerden Comentar Compartir y Darle
Hasta la Próxima
Si te hemos ayudado : )
Te agradeceríamos que apoyaras este proyecto
Si te hemos ayudado : )
Te agradeceríamos que apoyaras este proyecto
0 comentarios:
Publicar un comentario