|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : mars 2006 Messages : 29 ![]() |
Petite question php.
J'aimerais savoir si il est possible de filtrer simplement un chaîne de caractères codée en UTF-8 contenant des mots anglais et des mot écrits avec d'autre alphabet que le notre. Mon but est de filtrer tout ce qui n'utilise pas l'alphabet occidental. Merci. ++ |
|
|
00
|
|
|
#2 |
![]() ![]() |
tu peux toujours te tourner vers les regexp
__________________
Rédacteur "éclectique" (XML, IRC, Web...) Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC) je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque ! pensez à la balise [code] (bouton #) et au tag (en bas)
|
|
|
00
|
|
|
#3 | |
|
Invité régulier
![]() Inscription : mars 2006 Messages : 29 ![]() |
Merci pour ta réponse, j'ai regardé le lien, mais la seul relation avec utf-8 est :
Citation:
Moi je voudrais juste remplacer "طراحی web" par "web" tout simplement. Le truc c'est que les caractères zarbis (perse, cyrillique, etc ...) sont transformé par des chiffres avec un ereg_replace("[^a-zA-Z0-9]", "", $texte), donc je me dis qu'il faut les virer avant, et c'est ma question. Je continue de chercher, marci pour ta réponse. ++ |
|
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Maxime PasquierExpert PHP Inscription : novembre 2004 Messages : 2 126 ![]() |
effectivement si tu fais un
Code :
preg_replace("#[^a-z0-9]#i", "", $texte);
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur. Mon espace Développez : mes Créations. Rencontre & Carte des Membres de Developpez.com, version 3.0 |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : mars 2006 Messages : 29 ![]() |
Si si, ça marche très bien, mais j'aimerais remplacer par rien direct, car il serait dommage de virer tous les chiffres pour cela.
J'aimerai éviter : Code :
preg_replace("#[^0-9]#i", "", $texte); ++ |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Maxime PasquierExpert PHP Inscription : novembre 2004 Messages : 2 126 ![]() |
tu as testé mon regexp ? que fait il sur ton texte, car logiquemen il vire tout ce qui n'est pas a-z et 0-9 ...
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur. Mon espace Développez : mes Créations. Rencontre & Carte des Membres de Developpez.com, version 3.0 |
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : mars 2006 Messages : 29 ![]() |
Bah oui, il fait la même chose que le ereg_replace : (si bien entendu on remplace par des "-" et pas rien) :
طراحی web donne : 1591-1585-1575-1581-1740-web J'ai donc pas dû être clair, mais voilà, je voudrais juste "web", mais si possible sans virer tous les chiffres obligatoirement avec une deuxieme passe. ++ |
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Maxime PasquierExpert PHP Inscription : novembre 2004 Messages : 2 126 ![]() |
va voir comment sont tes caractères dans la source de ta page html ... c'est pour ca que tu as un probleme !!
ca doit etre de l'ascii ou un autre truc ...
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur. Mon espace Développez : mes Créations. Rencontre & Carte des Membres de Developpez.com, version 3.0 |
|
|
00
|
|
|
#9 | ||
|
Invité régulier
![]() Inscription : mars 2006 Messages : 29 ![]() |
Ah oui, tiens, si on regarde la façon dont
طراحی web est codé dans cette page on trouve : Code :
Mes lacune en char-set sont dévoilées, mais bon, on le savait Donc, du coup, c'est quoi ça, de l'ascii ou de l'utf-8? Et c'est chaud à filtrer la sans enlever les chiffres de la partie occidentale du texte non? Une idée ? Merci pour ta patience en tous cas ++ |
||
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() Maxime PasquierExpert PHP Inscription : novembre 2004 Messages : 2 126 ![]() |
Code :
& # 1591; & # 1585; & # 1575; & # 1581; & # 1740; web en gros, c'est de html ascii ça !! et ca devrait aller ... ou tu fais l'inverse de htmlentites c'est a dire http://fr.php.net/manual/fr/function...ity-decode.php et du coup ton regex devrait marcher ... tu peux tester tout ça !! Bon taff !
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur. Mon espace Développez : mes Créations. Rencontre & Carte des Membres de Developpez.com, version 3.0 |
|
|
00
|
|
|
#11 |
|
Invité régulier
![]() Inscription : mars 2006 Messages : 29 ![]() |
erf,
Le code que j'ai posté provenait bien du code source de la page, mais pour des raisons que j'ignore, décidément, les voies du cher-set sont difficilement pénétrables Du coup je vois pas ou tu l'as trouvé codé en ASCII. Et html_entity_decode ne change rien. Je ferais bien un rég-ex si j'ai un bon séparateur (&# => virer &# suivit de 4 chiffres, mais là j'ai pas ça on dirais. Je vais voir si virer - suivit de 4 chiffre ne le ferait pas du coup, mais n'y a t'il pas des exception, genre des caractère de deux lettres ? Pour l'instant $texte= ereg_replace("[^a-zA-Z]", "-", $texte); est ma meilleur solution, mais cela empêche de traiter des chiffres latins. ++ |
|
|
00
|
|
|
#12 | ||
|
Expert Confirmé
![]() Maxime PasquierExpert PHP Inscription : novembre 2004 Messages : 2 126 ![]() |
moi j'ai fais afficher la source pour voir cela
et toi tu as fais quoi ? sur quel navigateur ? Sinon montre ton regexp, car ca devrait marcher !! je suis gentil ce matin : Code :
Sinon regarde d'ou tu les prends les caractères, et regarde bien comment ils sont !!
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur. Mon espace Développez : mes Créations. Rencontre & Carte des Membres de Developpez.com, version 3.0 |
||
|
|
00
|
|
|
#13 |
|
Invité régulier
![]() Inscription : mars 2006 Messages : 29 ![]() |
tu me rassures.
en fait, j'ai simplement fait un "afficher la source de la sélection dans firefox (up to date Et plus étrange encore, aujourd'hui, je vois les caractères perse dans le code source arf. En tous cas merci bcp ça marche nickel ++ |
|
|
00
|
|
|
#14 |
|
Expert Confirmé
![]() Maxime PasquierExpert PHP Inscription : novembre 2004 Messages : 2 126 ![]() |
en fait, je sais pas si c'est un bug, mais que tu demandes afficher le code source de la selection sous firefox, il t'affiches pas le vrai code source ...
il t'affiche ce qu'il veut bien il faut donc toujours faire afficher la source et chercher dans la source
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur. Mon espace Développez : mes Créations. Rencontre & Carte des Membres de Developpez.com, version 3.0 |
|
|
00
|
|
|
#15 |
|
Invité régulier
![]() Inscription : mars 2006 Messages : 29 ![]() |
C'est une bonne leçon
Merci encore, c'est sympa |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com