function CleanupString($InString) {
$Code = explode(',', '<,>,',&,",À,Á,Â,Ã,Ä,Ä,Å,?,?,?,Æ,Ç,?,?,?,?,?,?,Ð,È,É,Ê,Ë,?,?,?,?,?,?,?,?,?,?,?,Ì,Í,Î,Ï,?,?,?, ?,?,?,?,?,?,?,?,?,?,Ñ,?,?,?,?,Ò,Ó,Ô,Õ,Ö,Ö,Ø,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,Ù,Ú,Û,Ü,?,Ü,?,?,?,?,?,?,Ý,?,?, ?,?,?,Þ,Þ,à,á,â,ã,ä,ä,å,?,?,?,æ,ç,?,?,?,?,?,?,ð,è,é,ê,ë,?,?,?,?,?,?,?,?,?,?,?,?,ì,í,î,ï,?,?,?,?,?,?,?,?,?,?,?,?,?,?,ñ,?,?,?,?,?,ò, ó,ô,õ,ö,ö,ø,?,?,?,?,?,?,?,?,ù,ú,û,ü,?,ü,?,?,?,?,?,?,ý,ÿ,?,?,?,?,þ,ß,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?');
$Translation = explode(',', ',,,,,A,A,A,A,Ae,A,A,A,A,A,Ae,C,C,C,C,C,D,D,D,E,E,E,E,E,E,E,E,E,G,G,G,G,H,H,I,I,I,I,I,I,I,I,I,IJ,J,K,K,K,K,K,K,N,N,N,N,N,O, O,O,O,Oe,Oe,O,O,O,O,OE,R,R,R,S,S,S,S,S,T,T,T,T,U,U,U,Ue,U,Ue,U,U,U,U,U,W,Y,Y,Y,Z,Z,Z,T,T,a,a,a,a,ae,ae,a,a,a,a,ae,c, c,c,c,c,d,d,d,e,e,e,e,e,e,e,e,e,f,g,g,g,g,h,h,i,i,i,i,i,i,i,i,i,ij,j,k,k,l,l,l,l,l,n,n,n,n,n,n,o,o,o,o,oe,oe,o,o,o,o,oe,r,r,r,s,u,u,u,ue,u,ue, u,u,u,u,u,w,y,y,y,z,z,z,t,ss,ss,A,B,V,G,D,E,YO,ZH,Z,I,Y,K,L,M,N,O,P,R,S,T,U,F,H,C,CH,SH,SCH,Y,Y,E,YU,YA,a,b,v,g,d,e,yo,zh, z,i,y,k,l,m,n,o,p,r,s,t,u,f,h,c,ch,sh,sch,y,y,e,yu,ya');
$sReturn = $InString;
$sReturn = str_replace($Code, $Translation, $sReturn);
$sReturn = urldecode($sReturn);
$sReturn = preg_replace('/[^A-Za-z0-9 ]/', '', $sReturn);
$sReturn = str_replace(' ', '-', $sReturn);
return strtolower(str_replace('--', '-', $sReturn));
}
I've added some spaces in the arrays so I doesn brake up the forums layout...