Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/02/2009, 22:25
Adominapas
 
Fecha de Ingreso: febrero-2009
Mensajes: 4
Antigüedad: 15 años, 3 meses
Puntos: 0
De acuerdo Quitar acentos ¿Como?

Hola. Soy nueva en el foro y tengo una duda.
Resulta que tengo un script que muestra los ultimos post (los titulos de los topics) de un foro, sin embargo yo quiero que los titulos salgan sin acentos (tildes). Acá el codigo.

Código PHP:
<?php 



/* This script shows the last X numbers of posts (titles) posted last on a non-VB page.
You may customize it in any way you wish. If you have any problems with it, you can
post them at vB.org or send me an email to [email protected].

Enjoy!
*/


## CUSTOMIZE SETTINGS FOR YOUR SITE ##
$db_host "localhost"// Change this if your MySQL database host is different.
$db_name "asdas"// Change this to the name of your database.
$db_user "asdasda"// Change this to your database username.
$db_pw "asdasda"// Change this to your database password.


## CUSTOMIZE SETTINGS FOR YOUR SITE ##
$forum_url "http://asdasd"// Change this to reflect to your forum's URL.
$forum_id ""// If you wish to display the posts from a specific forum, enter the forum id here. Otherwise, leave it blank.
$limit "20"// Number of posts displayed.
$titlecolor "#0000FF"// This is the color of the title.
$postedcolor "#404040"// This is the color of the bottom text.
$txtlimit "100"// This is the character limit.
#######################################

// Connecting to your database

mysql_connect($db_host$db_user$db_pw
OR die (
"Cannot connect to your database"); 
mysql_select_db($db_name) OR die("Cannot connect to your database"); 

// Below is the beginning of a table. If you feel you don't need it, you may remove it.
echo "<table width=\"450\" border=\"0\">";

if (
$forum_id) {
    
$forumid "AND forumid=$forum_id";
}

if (
$limit) {
    
$limited "LIMIT $limit";
}
$thread_sql mysql_query("SELECT threadid,title,lastpost,lastposter,replycount,views FROM thread WHERE visible=1 AND open=1 $forumid ORDER BY lastpost DESC $limited");
while(
$thread_get=mysql_fetch_array($thread_sql))
{
$lastpost $thread_get['lastpost'];
$poster $thread_get['lastposter'];
$tid $thread_get['threadid'];
$reply $thread_get['replycount'];
$psql mysql_query("SELECT postid FROM post WHERE threadid=$tid ORDER BY postid DESC");
$getp=mysql_fetch_array($psql);
$pid $getp['postid'];
$date2 date ("m/d/y h:i A" ,$lastpost);
$title $thread_get['title'];
$title substr($title,0,$txtlimit);
echo 
"  <tr>
    <td><a href=\"$forum_url/showthread.php?t=$tid\">$title</a></td>
    <td>$poster</td>
    <td>$reply</td>
  </tr>
"
;
}
echo 
"</table>";

?>
Se supone que ahi, lo que recoge los titulos de los post es $title, y eso necesito que no tenga acentos.

Me encontré con una solución que seria esta:

Código PHP:
function limpiar_acentos($s)
{
$s ereg_replace(&#8221;[áàâãª]”,”a”,$s);
$s ereg_replace(&#8221;[ÁÀÂÃ]”,”A”,$s);
$s ereg_replace(&#8221;[ÍÌÎ]”,”I”,$s);
$s ereg_replace(&#8221;[íìî]”,”i”,$s);
$s ereg_replace(&#8221;[éèê]”,”e”,$s);
$s ereg_replace(&#8221;[ÉÈÊ]”,”E”,$s);
$s ereg_replace(&#8221;[óòôõº]”,”o”,$s);
$s ereg_replace(&#8221;[ÓÒÔÕ]”,”O”,$s);
$s ereg_replace(&#8221;[úùû]”,”u”,$s);
$s ereg_replace(&#8221;[ÚÙÛ]”,”U”,$s);
$s str_replace(&#8221;ç”,”c”,$s);
$s str_replace(&#8221;Ç”,”C”,$s);
$s str_replace(&#8221;[ñ]”,”n”,$s);
$s str_replace(&#8221;[Ñ]”,”N”,$s);

return $s;

Sin embargo no sé como aplicarla al Script que les mostré al comienzo.

Gracias :D