Comment enlever les diacritiques du texte?
Je fais un site suédois, suédois et les lettres sont å, ä et ö.
J'ai besoin de faire une chaîne de caractères saisie par l'utilisateur à devenir url sécurité avec PHP.
Fondamentalement, besoin de convertir tous les caractères de soulignement, tous SAUF ces:
A-Z, a-z, 1-9
et tous les suédois devraient être converti comme ceci:
'å' à 'a' et 'ä' à 'a' et 'ö' à 's' (il suffit de retirer les points ci-dessus).
Le reste devrait devenir traits de soulignement comme je l'ai dit.
Im n'est pas bon d'expressions régulières donc je vous serais reconnaissant de l'aide les gars!
Grâce
REMARQUE: la fonction URLENCODE...j'ai besoin de le stocker dans une base de données... etc etc, urlencode pas travailler pour moi.
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Cela devrait être utile qui gère pratiquement tous les cas.
Utilisation iconv pour convertir des chaînes à partir d'un codage ASCII, puis remplacer les caractères non-alphanumériques à l'aide de preg_replace:
Résultat:
Utilisation
normalizer_normalize()
pour se débarrasser de les signes diacritiques.Utilisation
preg_replace()
avec un motif de[\W]
(j'.o.w: n'importe quel caractère qui ne correspond pas à des lettres, des chiffres et des caractères de soulignement) pour les remplacer par des traits de soulignement.Résultat Final devrait ressembler à:
Si vous êtes simplement intéressé à faire des choses URL sûr, alors vous voulez
urlencode
.Si vous voulez vraiment bande non A-Z, a-z, 1-9 (ce qui est mal avec
0
au fait?), alors vous voulez:aussi simple que
en supposant que vous utilisez le même encodage de vos données et de votre code.
Une solution simple est d'utiliser str_replace la fonction rechercher et remplacer lettre tableaux.
Vous n'avez pas besoin de fantaisie les expressions régulières pour filtrer les suédois de caractères, il suffit d'utiliser la la fonction strtr de "traduire", comme:
->sortie: http://www.maao.com 🙂
Si intl extension php est activé, vous pouvez utiliser Transcripteur comme ceci :
Pour supprimer d'autres caractères spéciaux (pas de signes diacritiques seulement comme 'æ')