Weblogs Código

RecorteX

» php
73 usuarios y 243 recortes de código
Usuario

Contraseña
Crear cuenta
Estás viendo los recortes de la etiqueta php

RSS
Recortes: 38

Etiquetas relacionadas:
mysql
imagenes
fichero
jpg
letras
formato
xhtml
html
fechas
cuenta-registros
mascara
array
ID
tus
Digg
paginas
clase
Web20
acentos
Fresqui
existe-registro
tabla
database
Meneame
base
imagen-flash
url
filtrar
elimina-ficheros
para
clases
leer
widgets
ADOdb
genera-select
extension
tags
date
Meta
bbdd
valor-maximo
formatear
entidades
phpbb3
convertir
wordpress
ajax
hora
tildes
fecha
datos
busca
index
valor-minimo
escribir
querystring
cristiano
libre
apache
todas
dieresis
números
castellano
javascript
variables
formulario
español
SQL

Integra phpBB3 en tu web

Aqui os dejo el codigo para que podais integrar completamente el nuevo foro phpBB3 en tu web sin complicaciones :)

Debemos poner el siguiente codigo al principio de cada pagina en la que vayamos a necesitar algo del foro phpbb3, antes de enviar nada al navegador.

 
define('IN_PHPBB', true);
$phpbb_root_path = '/foros/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
 
// Start session management
$user->session_begin();
$auth->acl($user->data);
 

Tener encuenta que

$phpbb_root_path = '/foros/';
 

almacena la ruta donde está almacenado el foro. En nuestro caso esta en una carpeta llamada foros alojada en el directorio raiz.

Una vez añadido este código ya tenemos acceso a las variables de usuario del foro. Algunas de ellas son:

 
$user->data['user_id']; /* Devuelve el identificador del usuario conectado */
$user->data['is_registered'] /* TRUE si el usuario esta identificado FALSE en caso contrario */
 

Filtrar archivos de un directorio por extensión

Si has tenido que mostrar alguna vez las entradas de un directorio y has tenido que filtrarlas de alguna forma (para ver, por ejemplo, todos los archivos de texto, los archivos XML, las imágenes …) posiblemente lo hayas resuelto abriendo el directorio, leyendo una a una cada entrada, comparándola con lo que buscabas y, después de hacer lo que necesitas, cerrando el directorio.

Pues has hecho mal. Existe una forma mucho más rápida de hacerlo. En PHP desde la versión 4.3 se hace uso de una función también disponible en la biblioteca estándar de C llamada glob().

En PHP su uso es, como suele suceder con todas las demás, mucho más fácil que en C. Pero qué mejor que un ejemplo:


<?php
foreach (glob("*.txt") as $nombre_archivo)
{
    echo $nombre_archivo ' con tamaño ',
      filesize($nombre_archivo), " bytes\n";
}
?>

Esto mostrará una salida como esta:


archivo1.txt con tamaño 44686 bytes
archivo2.txt con tamaño267625 bytes
archivo3.txt con tamaño137820 bytes

Números en texto

Función creada para convertir números en texto, específicamente con dos decimales. Para PHP

 
<?php
function letras($n){
  $cent=array(
  1=>'ciento',
     'doscientos', 
     'trescientos', 
     'cuatrocientos', 
     'quinientos', 
     'seiscientos', 
     'setecientos', 
     'ochocientos', 
     'novecientos');
  $dec=array( '', 
            '', 
            '', 
            'treinta', 
            'cuarenta', 
            'cincuenta', 
            'sesenta', 
            'setenta', 
            'ochenta', 
            'noventa' );
  $uni=array( '', 
            ' y un', 
            ' y dos', 
            ' y tres', 
            ' y cuatro', 
            ' y cinco', 
            ' y seis', 
            ' y siete', 
            ' y ocho', 
            ' y nueve');
 
  for ($i=0; $i<100;$i++){
   $d=(int)($i/10);
   $u=$i%10;
   $num[$i]=$dec[$d].$uni[$u];
 }
 
  $num[0]='';
 $num[1]='un';
 $num[2]='dos';
 $num[3]='tres';
 $num[4]='cuatro';
 $num[5]='cinco';
 $num[6]='seis';
 $num[7]='siete';
 $num[8]='ocho';
 $num[9]='nueve';
 $num[10]='diez';
 $num[11]='once';
 $num[12]='doce';
 $num[13]='trece';
 $num[14]='catorce';
 $num[15]='quince';
 $num[16]='dieciseis';
 $num[17]='diecisiete';
 $num[18]='dieciocho';
 $num[19]='diecinueve';
 $num[20]='veinte';
 $num[21]='veintiun';
 $num[22]='veintidos';
 $num[23]='veintitres';
 $num[24]='veinticuatro';
 $num[25]='veinticinco';
 $num[26]='veintiseis';
 $num[27]='veintisiete';
 $num[28]='veintiocho';
 $num[29]='veintinueve';
 $num[30]='treinta';
 $num[40]='cuarenta';
 $num[50]='cincuenta';
 $num[60]='sesenta';
 $num[70]='setenta';
 $num[80]='ochenta';
 $num[90]='noventa';
 $num[100]='cien';
 if ($n<=100)
 {
   	return $num[$n];
 }
 else if($n<1000)
 {
   	$c=(int)($n/100);
   	return("$cent[$c] ".letras($n%100));
 }
 else if ($n<1000000)
 {
   	$c=(int)($n/1000);
   	$p=letras($c);
   	return("$p mil " .letras($n%1000));
 }
 else
 {
   	$c=(int)($n/1000000);
   	$p=letras($c);
   	$q=($p=='un')?'millón':'millones';
   	return("$p $q " .letras($n%1000000));
 }
}
 
function letras2($monto){
	$cant=explode('.',$monto);
	$v1=($cant[0]==0)?'cero':letras($cant[0]);
	$v2='0.'.$cant[1];
	$v2=substr('0'.round($v2*100,0),-2);
	return $v1.' con '.$v2.'/100';
}
 

Encontrar un ID libre en una tabla de una base de datos

Pues es sencillo: se sacan todos los IDs de la tabla y se inicializa una variable a 0 (el ID mínimo) y se va mirando si está en la matriz de los IDs de la tabla. Si está en la matriz, probar con el siguiente ($i++), pero si no está, hemos encontrado un ID reutilizable (o nuevo, si se ha llegado al límite de la matriz).

Principalmente sirve para no tener que meter un ID nuevo en una tabla, si ya se han liberado IDs (borrado registros) anteriormente. Así además el tamaño del campo ID no hace falta que sea muy grande si se eliminan y se añaden muchos registros.

 
  // Doy por supuesto que ya se ha conectado a una base de datos
  // $tabla es el nombre de la tabla en donde hay que buscar un ID libre
  
  function buscar_id_libre($tabla){
      global $db;
      // Sacar todos los IDs de la tabla
      $res = mysql_query("SELECT id FROM $tabla");
      if($res){
          while(false !== ($reg = mysql_fetch_assoc($res)))
                  $ids[] = intval($reg['id']);
      }else{
          $ids = array(0);
      }
 
      // Buscar un ID que no este en la matriz (o en la tabla)
      $i = 0;
      while(in_array($i, $ids)){
          $i++;
      }
      return $i;
  }
 

Formatear una fecha/hora en castellano

Con estas dos líneas se puede formatear una fecha en castellano (y en otro idioma instalado):
Se puede conseguir ayuda en la web de PHP (http://es.php.net/strftime)

 
  // Establecer la constante global LC_TIME a español
  // NOTA: Esto se establece globalmente para PHP, si éste está
  // cargado como Módulo en vez de CGI. Esto es, desde que se establece
  // hasta que se cierra PHP, no hasta que termina el script.
  setlocale(LC_TIME, 'sp');
 
  // Es un poco diferente a la función Date() pero los argumentos son los mismos
  echo strftime('%A, %d de %B de %Y');
 
  // Escribe: martes, 19 de junio de 2007
 

Convertir letras con acentos, tildes, ... a entidades HTML

Si se quiere convertir, por ejemplo á por &aacute; y todas las demás, con esta simple función ya vale. Su funcionamiento:

1. Convierte TODOS los caracteres especiales a entidades.

2. Como los caracteres <, & y > no nos interesa que queden codificados, se vuelven a descodificar (sólo estos).

 
  function caracteres_html($texto){
      $texto = htmlentities($texto, ENT_NOQUOTES, 'UTF-8'); // Convertir caracteres especiales a entidades
      $texto = htmlspecialchars_decode($texto, ENT_NOQUOTES); // Dejar <, & y > como estaban
      return $texto;
  }
 

Si no se dispone de PHP 5 o posterior, se necesita también agregar el siguente código:

 
  if ( !function_exists('htmlspecialchars_decode') )
  {
      function htmlspecialchars_decode($text)
      {
          return strtr($text, array_flip(get_html_translation_table(HTML_SPECIALCHARS)));
      }
  }
 

A disfrutarlo!

Cargar combos con Ajax

No se uds. pero antes hacer combos que se cargaran donde uno dependia de otro era algo engorroso, claro que habia varios metodos, se podia usar iframes o recargar la pagina, aunque sinceramente ninguno de esos me parece muy bueno, hace poco necesite hacer algo asi para una web app, asi que le digo como lo hice, no se si sera lo mejor pero talvez a alguien le sirva.

Por si acaso esto esta hecho con PHP y MySQL

Primero tenemos nuestro formulario

Esas dos son clases donde la primera permite manejar la Base de datos, esa clase la postee hace un tiempo aqui.( http://www.recortex.com/recorte/177 )
Todo lo que viene a continuacion esta dentro de un solo archivo formulario.php

 
<?php 	
        include("./cls/clsManejaBD.php"); 
	include("./cls/clsUbicacion.php"); 
?>
 
 
<form action="./actions/registrar_evento.php" method="post" id="frmRegistraEvento">
<fieldset><label>Departamento</label>
         <?php /*instancio la clase y llamo a un metodo de la misma que va a generar la lista de departamentos*/ 
               $u=new Ubicacion(); $u->Generar_Combo_Departamentos(); 
         ?>
</fieldset>
<fieldset><label>Provincia</label><div id="cmbProvincia">Provincia</div></fieldset>
<fieldset><label>Distrito</label><div id="cmbDistrito">Distrito</div></fieldset>
<fieldset><label>Fecha</label><input type="text" name="txtFecha" value="dd/mm/aaaa" size="10" maxlength="10"/></fieldset>
<fieldset><label>Tema</label><input type="text" name="txtTema" value="tema tratado"/></fieldset>
<fieldset><label>Publico</label><input type="text" name="txtPublico" value="publico atendido"/></fieldset>
<fieldset><label>Lugar</label><input type="text" name="txtLugares" value="lugar"/></fieldset>
<fieldset><label>Cantidad</label><input type="text" name="txtCantidad" value="0"/></fieldset>
<fieldset><label>N&deg; de Informe</label><input type="text" name="txtInforme" value="N&deg; de Informe" /></fieldset>
<fieldset><label>Fecha de Informe</label><input type="text" name="txtFecha_Informe" value="dd/mm/aaaa" size="10" maxlength="10"/></fieldset>
<fieldset><input type="button" name="aceptar" value="aceptar"/> <input type="button" name="borrar" value="borrar"/></fieldset>
</form>
 

Cuando se vea esta pagina el navegador reemplazara donde aparece nuestro codigo php por esto

 
<select id="departamento" onchange="cambio(id,2);">
<option> Amazonas</option>
<option> Ancash </option>
<option> Arequipa </option>
...
</select>
 

ahora viene la parte de javascript, yo tengo una funcion denominada cambio() dentro de la cual valido el destino y que pagina cargar, lo que sigue pueden ponerlo en la misma pagina o en un archivo js aparte

 
function cambio(id, dest)
{	var index=document.getElementById(id).selectedIndex;
	var url;
	var detino;
       /*de acuerdo al combo que cambie carga el dato del siguiente combo
combo "departamento" carga "provincias" y "provincias" carga "distritos" */
	if(dest==2)
		{ 
			url="cargar_provincias.php?idDep=" + (index+1); /*a la variable se le suma 1 ya que el indice del combo empieza en 0*/
			destino='cmbProvincia';
		}
		
	if(dest==3)
		{ 	url="cargar_distritos.php?idProv=" + (index+1) + "&idDep=" + (document.getElementById('departamento').selectedIndex + 1);
			destino='cmbDistrito';
		}
		
	cargarDatos(url, "action", destino);//esta es una funcion que llama al ajax
}
 

Bueno aunque yo tengo separado en archivos diferentes en este caso vamos a decir que tanto la funcion de arriba como la funcion para ajax se encuentra en el mismo archivo

 
function cargarDatos(pagina, dir, target)	
{	var page = false;
	var target;
	var url;
	url="./" + dir + "/" + pagina;
    if (window.XMLHttpRequest)
    {
        // Si es Mozilla, Safari etc
        page = new XMLHttpRequest ();
    } else if (window.ActiveXObject)
    {
        // pero si es IE
        try 
        {
            page = new ActiveXObject ("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            // en caso que sea una versi&oacute;n antigua
            try
            {
                page = new ActiveXObject ("Microsoft.XMLHTTP");
            }
            catch (e)
            {
            }
        }
    } 
    else
	{	return false;}
	
    page.onreadystatechange = function ()
    {
        // funci&oacute;n de respuesta
		if (page.readyState != 4) {
			document.getElementById (target).innerHTML= '<div id="loader"><img src="./img/ajax-loaderC.gif" > Cargando datos...</div>';
		}else{
			//window.setTimeout("cargarpagina(page);",2000); //pretendemos demorar la respuesta unos segundos
			cargarpagina(page, target);
		} 		
    }
	
    page.open ('GET', url, true); // asignamos los m&eacute;todos open y send
    page.send (null);	
 
}
 
function cargarpagina(page, target)
{
    if (page.readyState == 4 && (page.status == 200 || window.location.href.indexOf ("http") == - 1))
		document.getElementById (target).innerHTML = page.responseText;
}
 

por ultimo debemos tener nuestros archivos php, yo los tengo en una carpeta llamada “action”
aqui le muestro el que carga los distritos para que se den una idea

 
<?php
	include("../cls/clsManejaBD.php"); 
	include("../cls/clsUbicacion.php"); 
	$id_departamento=$_GET['idDep'];
	$id_Provincia=$_GET['idProv'];
	$u=new Ubicacion(); $u->Generar_Combo_Distritos($id_departamento,$id_Provincia);
?>
 

por ultimo no se uds. pero a veces me ha pasado a mi que en tutoriales como estos no ponen el codigo completo php y uno se pierde, asi que aqui les pongo el codigo de la clase Ubicacion.

getSQL($query);		
		return $rs;
	}
	
	function Generar_Combo_Departamentos()
	{ $rs=$this->ListarDepartamentos();
		if (mysql_num_rows($rs)>0)
			{	echo "<select id='departamento' onchange='cambio(id,2);'>";				
	 			while($data=mysql_fetch_array($rs,MYSQL_NUM))
				{	echo  "<option> $data[1] </option>";			
				}
				echo "</select>";
 			}	
		else
			{	echo "no existen datos para mostrar";
			}
		mysql_free_result($rs);	
	}
	
	function ListarProvincias($fk_departamento)
	{	
		$dbm=new ManejaBD;
		$query="SELECT idProvincia, nombre FROM Provincia where fk_Departamento=$fk_departamento";		
		$rs=$dbm->getSQL($query);			
		if($rs)
		{	return $rs;
		}
		
	}
	
	function Generar_Combo_Provincias($idDepartamento)
	{ $rs=$this->ListarProvincias($idDepartamento);
		if (mysql_num_rows($rs)>0)
			{	echo "<select id='provincia' onchange='cambio(id,3);'>";				
	 			while($data=mysql_fetch_array($rs,MYSQL_NUM))
				{	echo  "<option> $data[1] </option>";			
				}
				echo "</select>";
 			}	
		else
			{	echo "no existen datos para mostrar";
			}
		mysql_free_result($rs);	
	}
	
	function ListarDistritos($fk_departamento, $fk_provincia)
	{	
		$dbm=new ManejaBD;
		$query="SELECT DISTINCT idDistrito, nombre FROM Distrito where fk_Departamento=$fk_departamento and fk_Provincia=$fk_provincia";		
		$rs=$dbm->getSQL($query);			
		if($rs)
		{	return $rs;
		}
		
	}
	
	function Generar_Combo_Distritos($idDepartamento, $idProvincia)
	{ $rs=$this->ListarDistritos($idDepartamento, $idProvincia);
		if (mysql_num_rows($rs)>0)
			{	echo "<select id='distrito'>";				
	 			while($data=mysql_fetch_array($rs,MYSQL_NUM))
				{	echo  "<option> $data[1] </option>";			
				}
				echo "</select>";
 			}	
		else
			{	echo "no existen datos para mostrar";
			}
		mysql_free_result($rs);	
	}

	
	function Ubicacion_Evento($idEvento)
	{	
		$dbm=new ManejaBD;
		$query="SELECT direccion FROM Ubicacion where fk_Evento=$idEvento";		
		$rs=$dbm->getSQL($query);			
		if($rs)
		{	return $rs;
		}
		
	}
	
	
}

A pedido de un usuario ahi esta cargar_distritos.php

 
 
	include("../cls/clsManejaBD.php"); 
	include("../cls/clsUbicacion.php"); 
	$id_departamento=$_GET['idDep'];
	$id_Provincia=$_GET['idProv'];
	$u=new Ubicacion(); $u->Generar_Combo_Distritos($id_departamento,$id_Provincia);
 

aunque un poco largo espero sea entendible _

Clase para creacion dinamica de Galeria de Imagenes sin BD

Esta es una clase que permite de manera dinamica crear tu galeria de imagenes, funciona sobre todo para casos donde no tienes una BD donde apoyarte para la creacion de tus albums de imagenes, creo que aun le voy a poner mas cosas, aqui en este sitio encontre una funcion para crear thumbsnails, que quisiera acoplar a esta clase.

 
/*******************
CLASE GALERIA
 
METODOS
	mostrarGaleria($id,$max); lista todas las imagenes que aparecen en el directorio seleccionado, este directorio 
							viene especificado en la variable $id.
							El argumento $max define cuantas fotos como maximo son mostradas.
	crarMiniGalerias($ini);el argumento $ini define desde donde empieza a mostrar, funciona para hacer la paginacion
***************/
class Galeria
{
	function mostrarGaleria($id,$max){	
		$ext = array("jpg", "png", "jpeg", "gif");//@LISTA DE EXTENSIONES ACEPTABLES
		$c=0;//@CONTADOR DEL NUMERO DE ARCHIVOS ENCONTRADOS SEGUN EL FILTRO;
		$datos=array();
		$a=3;
		//@$a=5;//@ESPECIFICA EL NUMERO DE ARCHIVOS QUE DEBE TENER CADA LISTA;		
		$dir="./galerias/".$id;
		if(is_dir($dir)){
			if ($gestor = opendir($dir)) {
				include ("./galerias/$id/datos.php");	
				echo "\t<div class='galeria'>\n";			
				echo "<p class='titulo'> $titulo </p>";
				echo "\n\t<div>\n";			
				echo "\t\t<ul>\n";
				if($max==0){
				   while (false !== ($archivo = readdir($gestor))) {
								   if ($archivo != "." && $archivo != "..") {													
										for($i=0;$i<sizeof($ext);$i++){
											if(stristr($archivo, ".".$ext[$i])){																	
												if ($c%$a==0 && $c!=0)
												{	echo "\t</ul>\n";
													echo "\t<ul>\n";
													echo "<li class='fila'> <a href='$dir/$archivo' class='imagen' target='_blank'> <img src='$dir/$archivo' alt='$archivo'/> </a></li>\n";
												}
												else
												{
													echo "<li class='fila'> <a href='$dir/$archivo' class='imagen' target='_blank'> <img src='$dir/$archivo' alt='$archivo' /> </a></li>\n";
												}
												$c++;																			
											}
										}
						   }
				   }
				}
				else{	while(!false==($archivo=readdir($gestor)) and $c<$max){				
								if ($archivo != "." && $archivo != "..") {													
												for($i=0;$i<sizeof($ext);$i++){
													if(stristr($archivo, ".".$ext[$i])){																	
														if ($c%$a==0 && $c!=0)
														{	echo "\t</ul>\n";
															echo "<ul>\n";
															echo "<li class='image'> <a href='$dir/$archivo' class='imagen' target='_blank'> <img src='$dir/$archivo' alt='$archivo' /> </a> </li>\n";
														}
														else
														{
															echo "<li class='image'> <a href='$dir/$archivo' class='imagen' target='_blank'> <img src='$dir/$archivo' alt='$archivo' /> </a> </li>\n";
														}
														$c++;									
													}
								}
								
						}		
					}	
				}
				
				echo "\t</ul>\n";
				echo "<div class='descripcion'> $descripcion </div>\n\t";
				if($max!=0){
					echo"\n\t<a href='galeria.php?gid=$id' class='oDir'> ver [+] </a>";
				}
				echo "\n\t</div>\n";	   
			   echo "</div>\n";
				closedir($gestor);
			}			
		}		
	}
	
 
	function creaMiniGalerias($ini)
	{
		echo "<div id='miniGalerias'>";
		if($ini!=1)
		{	$ini=$ini*2+1;
		}
			$max=$ini+3;
		for($i=$ini;$i<=$max;$i++)			
		{	$id='g'.$i;
			$this->mostrarGaleria($id,3);			
		}		
		echo "</div>";
		
		$dir="./galerias/";
		if ($gestor = opendir($dir)) {
			$g=0;
			echo "<div id='menuGal'>";
			 while (false !== ($archivo = readdir($gestor))) {
								   if ($archivo != "." && $archivo != "..") 
								   {		if($g%4==0)
											{	$c++;
												echo " <a href='galerias.php?n=$c'> [$c] </a> ";											
											}
											$g++;
								   }
				}
			echo "</div>";
		}
				
	}
	
	function numGalerias()
	{	$dir="./galerias";
		if ($gestor = opendir($dir)) {
			$g=0;
			 while (false !== ($archivo = readdir($gestor))) {
								   if ($archivo != "." && $archivo != "..") 
								   {		$g++;
								   }
				}
		}		
		return $g;
		
	}
	
	function creaMiniGaleriasPortada()
	{	
		$n=$this->numGalerias();
		echo "<div>";
		for($i=$n-2;$i<=$n;$i++)
		{	$id="g".$i;
			//echo $id;
			$this->mostrarGaleria($id,2);
		}
		echo "</div>";
	}
}
 

Clase para manejar conexiones mysql en localhost o servidor externo

Una clase sencilla para poder manejar la conexion a una BD MySQL asi como la ejecucion de Querys, uhmmm espero a alguien le sirva y si tiene agregados a la misma, bienvenidos !!!!

 
 
//clase Conxeion
class ManejaBD
{	
 
function Configurar($tipo="local")
{	if($tipo=="local")
	{	$parameters=array("localhost","root","mipwd","mibase");
	}else
	{	$parameters=array("http://www.mihost.com","miusuario","micontraseña","mibase");
	}
	return $parameters;
}
	
function ejecutarSQL($sql,$tipo="local")
		{	$p=array();
			$p=$this->Configurar($tipo);
			$host=$p[0]; $usr=$p[1]; $pwd=$p[2]; $db=$p[3];
			$cn=mysql_connect($host,$usr,$pwd) or die(mysql_error());
			mysql_select_db($db);
			$rs=mysql_query($sql) or die(mysql_error());
		}	
			
	function getSQL($sql,$tipo="local")
		{	$p=array();
			$p=$this->Configurar($tipo);
			$host=$p[0]; $usr=$p[1]; $pwd=$p[2]; $db=$p[3];
			$cn=mysql_connect($host,$usr,$pwd) or die(mysql_error());
			mysql_select_db($db);			
			$rs=mysql_query($sql) or die(mysql_error());
			return $rs;
		}		
		
};
 

Funcion para reemplazar caracteres especiales por codigo xhtml valido

En algunos casos hay personas que gustan de utilizar las tildes inclusive en las webs y en sus posts, asi que hice esta funcion para no tener que formatear manual mente los caracteres como las tildes y “ñ”, no es la gran cosa pero talvez a alguien le ayude asi como es sencillo agregarle mas caracteres.


  function caracteresEspeciales($texto)
	{	$nTexto=str_replace('á',"&aacute;",$texto);
		$nTexto=str_replace('é',"&eacute;",$texto);
		$nTexto=str_replace('í',"&iacute;",$texto);
		$nTexto=str_replace('ó',"&oacute;",$texto);
		$nTexto=str_replace('ú',"&uacute;",$texto);
		
		$nTexto=str_replace('?',"&Aacute;",$texto);
		$nTexto=str_replace('É',"&Eacute;",$texto);
		$nTexto=str_replace('?',"&Iacute;",$texto);
		$nTexto=str_replace('Ó',"&Oacute;",$texto);
		$nTexto=str_replace('Ú',"&Uacute;",$texto);
		
		$nTexto=str_replace('ñ',"&ntilde;",$texto);
		$nTexto=str_replace('Ñ',"&Ntilde;",$texto);
		
		return $nTexto;
	}
Proyecto: Juanjo Navarro, 2006 - Diseño: Albin