Función htmlentities() vs htmlspecialchars() en PHP

En este artículo, veremos para qué se usa la función htmlentities() y htmlspecialchars() y también entenderemos su implementación a través de los ejemplos.

Función htmlentities(): La función htmlentities() es una función incorporada en PHP que se usa para transformar todos los caracteres que son aplicables a las entidades HTML. Esta función convierte todos los caracteres aplicables a las entidades HTML. 

Sintaxis:

string htmlentities( $string, $flags, $encoding, $double_encode )

Valor de los parámetros: esta función acepta cuatro parámetros, como se mencionó anteriormente y se describe a continuación: 

  • $string: este parámetro se utiliza para contener la string de entrada.
  • $flags: este parámetro se usa para contener las banderas. Es una combinación de una o dos banderas, que indica cómo manejar las comillas.
  • $codificación: es un argumento opcional que especifica la codificación que se utiliza cuando se convierten los caracteres. Si no se proporciona la codificación, se convierte de acuerdo con la versión predeterminada de PHP.
  • $double_encode: si double_encode está desactivado, PHP no codificará las entidades HTML existentes. El valor predeterminado es convertir todo.

Valores devueltos: esta función devuelve la string que se ha codificado. 

Ejemplo:  este ejemplo usa la función htmlentities() para transformar todos los caracteres que son aplicables a las entidades HTML.

PHP

<?php
 
  // String convertible to htmlentities
  $str = '<a href="https://www.geeksforgeeks.org">GeeksforGeeks</a>';
 
  // It will convert htmlentities and print them
  echo htmlentities( $str );
?>

Producción:

<a href="https://www.geeksforgeeks.org">GeeksforGeeks</a>

Función htmlspecialchars(): La función htmlspecialchars() es una función incorporada en PHP que se utiliza para convertir todos los caracteres predefinidos en entidades HTML. 

Sintaxis:

string htmlspecialchars( $string, $flags, $encoding, $double_encode )

Valor del parámetro:

  • $string: este parámetro se utiliza para contener la string de entrada.
  • $flags: este parámetro se usa para contener las banderas. Es una combinación de una o dos banderas, que indica cómo manejar las comillas.
  • $codificación: es un argumento opcional que especifica la codificación que se utiliza cuando se convierten los caracteres. Si no se proporciona la codificación, se convierte de acuerdo con la versión predeterminada de PHP.
  • $double_encode: si double_encode está desactivado, PHP no codificará las entidades HTML existentes. El valor predeterminado es convertir todo.

Valores devueltos: esta función devuelve la string convertida. Si hay una string de entrada no válida, se devolverá una string vacía. 

Ejemplo: este ejemplo utiliza la función htmlspecialchars() para convertir todos los caracteres predefinidos en entidades HTML. 

PHP

<?php
 
  // String to be converted
  $str = '"geeksforgeeks.org" Go to GeeksforGeeks';
 
  // Converts double and single quotes
  echo htmlspecialchars($str, ENT_QUOTES);
?>

Producción:

"geeksforgeeks.org" Go to GeeksforGeeks

Diferencia entre la función htmlentities() y htmlspecialchars(): la única diferencia entre estas funciones es que la función htmlspecialchars() convierte los caracteres especiales en entidades HTML, mientras que la función htmlentities() convierte todos los caracteres aplicables en entidades HTML.

Publicación traducida automáticamente

Artículo escrito por ankit15697 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *