comment puis-je analyser une chaîne pour supprimer tous les caractères non anglais en phpnon Caractères anglais PHP
en ce moment je veux supprimer des choses comme
სოფო ნი
Merci :)
comment puis-je analyser une chaîne pour supprimer tous les caractères non anglais en phpnon Caractères anglais PHP
en ce moment je veux supprimer des choses comme
სოფო ნი
Merci :)
En utilisant preg_replace()
$string = "some სოფო text";
$string = preg_replace('/[^a-z0-9_ ]/i', '', $string);
echo $string;
Certes, vous devrez développer le modèle preg_replace, mais c'est une façon de le faire. Il y a probablement un meilleur moyen, je ne le sais tout simplement pas.
utilisent ce code:
$illegalChars = array("",);
$string = str_replace($illegalChars,"",$string);
echo $string;
vous auriez besoin de comparer avec tous les caractères non-anglais –
J'aurais tendance à utiliser une approche "liste blanche" plutôt qu'une approche "liste noire". C'est-à-dire, je voudrais que la routine identifie les caractères qui devraient être gardés, ces caractères qui _ARE_ "caractères anglais" et éliminant le reste, plutôt qu'essayant d'identifier les caractères qui devraient être enlevés. – spencer7593
Votre meilleure option serait d'utiliser iconv
, qui convertit les chaînes de codage de caractères demandé.
iconv('UTF-8', 'ASCII//TRANSLIT', $yourtext);
avec //translit
vous obtenez une conversion significative en ASCII (par exemple ß -> ss). L'utilisation de // IGNORE supprimera complètement les caractères non-ascii.
iconv('UTF-8', 'ASCII//IGNORE', $yourtext);
Je suppose que vous parlez des caractères alphabétiques non latins/romains. –
ouais désolé c'est ce que je voulais dire –