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>";
?>
Me encontré con una solución que seria esta:
Código PHP:
function limpiar_acentos($s)
{
$s = ereg_replace(”[áàâãª]”,”a”,$s);
$s = ereg_replace(”[ÁÀÂÃ]”,”A”,$s);
$s = ereg_replace(”[ÍÌÎ]”,”I”,$s);
$s = ereg_replace(”[íìî]”,”i”,$s);
$s = ereg_replace(”[éèê]”,”e”,$s);
$s = ereg_replace(”[ÉÈÊ]”,”E”,$s);
$s = ereg_replace(”[óòôõº]”,”o”,$s);
$s = ereg_replace(”[ÓÒÔÕ]”,”O”,$s);
$s = ereg_replace(”[úùû]”,”u”,$s);
$s = ereg_replace(”[ÚÙÛ]”,”U”,$s);
$s = str_replace(”ç”,”c”,$s);
$s = str_replace(”Ç”,”C”,$s);
$s = str_replace(”[ñ]”,”n”,$s);
$s = str_replace(”[Ñ]”,”N”,$s);
return $s;
}
Gracias :D