Traductor

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: "&ntilde"; 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>
  <body>
    <?php
      $cadena="España";
      echo (htmlentities($cadena));
    ?>
  </body>
</html>
Vera que cuando cargamos el codigo fuente de la página, se mostrara la ñ como &ntilde.


  • 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>
  <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>&amp;$valor</td>\n");
          $contador++;
          if ($contador>7){
            echo ("</tr>\n<tr>\n");
            $contador=0;
          }    
        }
      echo ("</tr>\n");
      echo ("</table>");
    ?>
  </body>
</html>
Al cargar el script, se despliega una tabla con todas las entidades HTML, de caracteres no reconocidos en el alfabeto internacional.
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>
  <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>
Los datos que muestra la URL son:

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

0 comentarios:

Publicar un comentario