salut
Vreau sa filtrez dintr-un formular toate litere cu diacritice, cu sedile, si alte litere straine ciudate, sa ramana doar cifrele si literele normale de pe tastatura fara orice diacritice sau sedile etc.
Nu prea am idei cum sa fac asta.
Stergere - Inlocuire diacritice si alte caractere
-
- Mesaje:190
Stergere - Inlocuire diacritice si alte caractere
MarPlo
Mesaje:4343
Salut
Daca vrei sa stergi diacriticile si alte caractere care nu sunt la tastatura standard, poti folosi codul din urmatorul exemplu.
- Dar stergand astfel diacriticile din cuvinte, ramane cuvantul gresit sau chiar cu alt inteles ("aşa casă" devine "aa cas").
Daca vrei sa inlocuiesti diacriticile si alte caractere cu echivalentul lor ASCII, se poate folosi functia din acest exemplu:
Daca vrei sa stergi diacriticile si alte caractere care nu sunt la tastatura standard, poti folosi codul din urmatorul exemplu.
- Dar stergand astfel diacriticile din cuvinte, ramane cuvantul gresit sau chiar cu alt inteles ("aşa casă" devine "aa cas").
Cod: Selectaţi tot
<?php
$str = 'Free Web programming courses: http://www.coursesweb.net. Diacritice ă Ă â Â î Î ş Ş ţ Ţ íó. Caractere speciale: - _ = <> ? \ " +';
$rgx = '/[^a-z0-9_\.!@#\$%\^&\*\(\)\+=:;"\'\<\>\?\[\],\/\\`~ -\|]+/i';
$str = preg_replace($rgx, '', $str);
echo $str;
?>
Cod: Selectaţi tot
<?php
// inlocuieste diacriticile si alte caractere cu echivalentul ASCII
function replaceSpecialChars($string){
// http://www.coursesweb.net
// caractere care trebuie inlocuite cu cele din $add (in aceeasi ordine)
$rem = array('ă', 'Ă', 'ş', 'Ş', 'ţ', 'Ţ', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ð', 'ì', 'í', 'î', 'ï', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', 'ø', '§', 'ù', 'ú', 'û', 'ü', 'ý', 'ÿ', 'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', '€', 'Ð', 'Ì', 'Í', 'Î', 'Ï', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ø', '§', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'Ÿ',
// aceleasi caractere, dar ca entitati HTML
'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ð', 'ì', 'í', 'î', 'ï', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', 'ø', '§', 'ù', 'ú', 'û', 'ü', 'ý', 'ÿ', 'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', '€', 'Ð', 'Ì', 'Í', 'Î', 'Ï', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ø', '§', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'Ÿ');
// caractere care vor fi adaugate
$add = array('a', 'A', 's', 'S', 't', 'T', 'a', 'a', 'a', 'a', 'a', 'a', 'ae', 'c', 'e', 'e', 'e', 'e', 'ed', 'i', 'i', 'i', 'i', 'n', 'o', 'o', 'o', 'o', 'o', 'o', 's', 'u', 'u', 'u', 'u', 'y', 'y', 'A', 'A', 'A', 'A', 'A', 'A', 'AE', 'C', 'E', 'E', 'E', 'E', 'EUR', 'ED', 'I', 'I', 'I', 'I', 'N', 'O', 'O', 'O', 'O', 'O', 'O', 'S', 'U', 'U', 'U', 'U', 'Y', 'Y',
// pentru inlocuit entitatile HTML
'a', 'a', 'a', 'a', 'a', 'a', 'ae', 'c', 'e', 'e', 'e', 'e', 'ed', 'i', 'i', 'i', 'i', 'n', 'o', 'o', 'o', 'o', 'o', 'o', 's', 'u', 'u', 'u', 'u', 'y', 'y', 'A', 'A', 'A', 'A', 'A', 'A', 'AE', 'C', 'E', 'E', 'E', 'E', 'EUR', 'ED', 'I', 'I', 'I', 'I', 'N', 'O', 'O', 'O', 'O', 'O', 'O', 'S', 'U', 'U', 'U', 'U', 'Y', 'Y');
return str_replace($rem, $add, $string);
}
$str = 'Free Web programming courses: http://www.coursesweb.net. Diacritice ă Ă â Â î Î ş Ş ţ Ţ íó. Caractere speciale: - _ = <> ? \ " +';
$str = replaceSpecialChars($str);
echo $str;
?>