Aplicar formato a una cadena para su impresión

En PHP disponemos de dos funciones equivalentes a las funciones de ANSI C **sprintf** y **printf** . Estas funciones se pueden usar, por ejemplo, para mostrar datos numéricos con un formato determinado.

La sintaxis de estas dos funciones es la siguiente:

string sprintf( string formato [, mixed args])
int    printf( string formato [, mixed args])

Más información sobre esta función y las opciones de formato se puede encontrar en esta URL: http://docs.php.net/manual/es/function.printf.php

Igualmente disponemos de la función

mixed sscanf( string cad, string formato [, string var1])

de funcionamiento idéntico a su equivalente en C. Un ejemplo de su uso podría ser:

$total = 16.2;
printf( , $total);

También disponemos de una función interesante ya usada en ejemplos anteriores, como es **number_format()**. La sintaxis es la siguiente:

string _number_format_ (float numero[,int decimales[,string punto_dec, string sep_miles]])

Esta función puede evitarnos usar sprintf si queremos formatear un determinado valor numérico. Nos permitirá indicar el número de decimales, el carácter de punto decimal y el carácter de separación de miles.

Otra de las funciones de aplicación de formato es la siguiente:

string htmlspecialchars ( string cadena)

que realiza la conversión de los caracteres especiales en HTML. Sirve para evitar que el texto introducido contenga marcas HTML, como ocurre en aplicaciones de foros, firmas, blogs, etc....

  • '&' (ampersand) -> '&'
  • ' ' (doble comilla) -> '"'
  • '<' (menor que) -> '<'
  • '>' (mayor que) -> '>'

Veamos un ejemplo:

<?php
   $texto = 'La expresión es: ($a > 10 && $a < 50)';
   echo htmlspecialchars($texto);

   // Imprimirá -> La expresión es: ($a &gt; 10 &amp;&amp; $a &lt; 50)
?>

Para realizar la función opuesta a la de **htmlspecialchars ** tenemos **html_entity_decode **. Esta es su sintaxis:

string html_entity_decode( string cadena )

Veamos otro ejemplo:

<?php
   $nuevo = htmlspecialchars( );
   echo $nuevo; // &lt;a href='test'&gt;Test&lt;/a&gt;
   echo html_entity_decode($nuevo); //Test
?>

El código fuente será:

&lt;a href='test'&gt;Test&lt;/a&gt;<a href='test'>Test</a>

results matching ""

    No results matching ""