Html5

Convertir tildes a codigos html

Por : Jhons_1101
2016-05-27
Tags :

Muy frecuentemente topamos con la necesidad de almacenar en base de datos cadenas de texto que muy posiblemnete contiene caracteres especiales como la "eñe" (ñ) o contienen tildes o acentos poco usuales. y para evitar problemas con la codificación en base de datos, llamese "MySql, Oracle, SQL Server, PostGreSQL, MariaDB, entre otras del mismo tipo. podemos optar por guardar las cadenas de texto con tildes, remplazandolas con el código HTML estandar de cada una.

Podemos realizar estas conversiones directamente desde php ofreciendonos dos funciones: htmlentities y html_entity_decode.

  • htmlentities
  • Nos permite codificar mediante UTF-8 la cadena de caracteres a formato HTML.


  • html_entity_decode
  • Me permite decodificar una cadena de texto que contenga caracteres en formato HTML y pasarlo al caracter representativo por utf-decode.



  • Sintaxis:
  • 	
    	
    	htmlentities ( $cadenaTexto, $flagConversion, $codificacion, $dobleCodificacion);
    	html_entity_decode ( $cadenaTexto, $flagConversion, $codificacion, $dobleCodificacion);
    	
    

    En donde,

  • $cadenaTexto:
  • Es una cadena de texto, ya sea una variable o una serie de caracteres encomillados dobles. Ver Mas Info.?
  • $flagConversion:
  • Es un indicador que especifica como se deben tratarse las comillas. Ver Mas Info.?
  • $codificacion:
  • Es la configuracion de caracteres empleada para la codificación de caracteres, si se omite, la codificacion por defeto es "UTF-8" para las versiones de superiores a PHP 5.4, para la anteriores a esta version el valor por defecto será "ISO-8859-1."
  • $dobleCodificacion
  • Si, se desactiva double_encode, PHP no codificará las entidades html existentes. El valor por defecto es convertir todo. (true).

    compartir en facebook compartir en Google compartir en Twitter compartir en Blogger compartir como código embebido compartir la url

    Ejemplo de "htmlentities"
    	
    
    	$cadenaTexto = "Esto es una 'prueba' de codificación en HTML";
    	echo htmlentities($cadenaTexto);
    	// Retorna: Esto es una 'prueba' de codificación en <b>HTML</b>
    
    	echo htmlentities($cadenaTexto, ENT_QUOTES); //codifica las comillas tambien, sean dobles o sencillas.
    	// Retorna: Esto es una 'prueba' de codificación en  <b>HTML</b>
    	
    
    Ejemplo de "html_entity_decode"
    	
    
    	html_entity_decode("Esto es una 'prueba' de codificación en  <b>HTML</b>", ENT_QUOTES, "UTF-8");
    	// Retorna: Esto es una 'prueba' de codificación en HTML;
    	
    
    Para mas información no olvides visitar http://php.net/


    Otro método para optimizar tiempo y lineas de código podriamos crear una función que me genere estas dos formas de codificación y decodificación. por medio del replace
    Veamos.

    	
    	
    	public function TildesHtml($cadena) { 
    	return str_replace(array("á","é","í","ó","ú","ñ","Á","É","Í","Ó","Ú","Ñ"),
    					   array("á","é","í","ó",  //buscar
    							 "ú","ñ", "Á","É", // reemplazar
    							 "Í","Ó","Ú","Ñ"), $cadena); // en donde va a buscar  
    	}
    
    	public function DecodeTildes($cadena){
    	return str_replace(array("á","é","í","ó",
    							 "ú","ñ","Á","É",
    							 "Í","Ó","Ú","Ñ"),      //buscar
    					   array("á","é","í","ó","ú","ñ","Á","É","Í","Ó","Ú","Ñ"),  // reemplazar
    					   $cadena);                                                // en donde va a buscar 
    	}
    	
    
    Revisa los codigos nativos HTML de los caracteres especiales y demás caracteres de teclado. Ver Códigos Ascii




    Si este contenido te fue útil, no olvides compartirlo en redes sociales, Considéralo. Puede ser la manera de agradecer!


    Agrega tu comentario...

    Puedes utilizar etiquetas <pre></pre>, <p></p>, <div></div>, + (Nombre usuario, para responderle a alguien)

    1YLa9pR





    Este post no tiene comentarios, sé el primero en hacerlo
    Esta entrada no cuenta con imágenes adjuntas

    Unete al grupo de whatsApp +57 316 392 6456

    Sigue el grupo en facebook

    Siguenos.....