détecter tous les espaces

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


Fab le Fou
WRInaute accro
WRInaute accro
 
Messages: 1511
Inscription: Jeu Déc 02, 2004 15:20

détecter tous les espaces

Message le Mer Avr 12, 2006 9:12

Cela fait un bout de temps que j'essaye de coder une fonction qui détecte tous les caractères spéciaux d'un texte saisi pour les remplacer par des caractères compatibles avec une url.

Je bloque sur le problème des espaces qui ne sont pas systèmatiquement détectés et donc non remplacés, ce qui génère des url de type : "mon mot.html" au lieu de "mon-mot.html" ..

Je suppose que cela provient d'internautes utilisant ms word + IE et que je subis donc le codage des caractères exotique de microsoft.

J'ai pourtant essayé de lister les différents codes possibles pour les espaces que j'ai trouvé sur le web mais il doit m'en manquer...

Comme je suppose que je ne suis pas le premier à rencontrer le problème, je souhaite savoir si certains ont trouvé une solution ? ou possède une liste exhaustive des différentes codes (ascii, ansi...) possibles pour les espaces ?


Szarah
WRInaute accro
WRInaute accro
 
Messages: 8090
Inscription: Mer Fév 22, 2006 18:24

Message le Mer Avr 12, 2006 9:43

Je suppose que quelqu'un va t'apporter rapidement une solution.
Le code de n'importe quel caractère en n'importe quelle langue, on peut le trouver ici
-http://www.macchiato.com/unicode/chart/
mais c'est plutôt galère et je te suggèrerais d'opter pour une solution non par reconnaissance mais par exclusion, du type
Si moi pas connaître, alors moi mettre _
par exemple.
Tout dépend du script que tu utilises.


cardoule
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 233
Inscription: Jeu Fév 19, 2004 16:24

Message le Mer Avr 12, 2006 9:44

Hello,
:idea: En utilisant les regexp tu peux arriver à remplacer tous les CNIs (caractères non indentifiés) par celui de ton choix.
Par contre si tu as par exemple "=20%" (qui ressemble à un code d'espace, si je ne m'abuse... mais çuilà tu dois l'avoir :wink: ) il te resteras le 20 (ie : -20-) à moins de remplacer également chiffres, ce qui n'est peut-être pas souhaitable :roll:

Ps: ça rejoint ce que dit Szarah, pendant que j'écris.


Fab le Fou
WRInaute accro
WRInaute accro
 
Messages: 1511
Inscription: Jeu Déc 02, 2004 15:20

Message le Mer Avr 12, 2006 9:58

Oui en fait, je voulais éviter les expresssions rationnelles qui sont gourmandes mais je vais peut-être m'y résoudre, au moins pour faire le nettoyage final de tout ce qui n'a pas été détecté et remplacé.

C'est la seule façon d'être certain du résultat.

C'est ce que semble faire google lui-même sur blogger.

Il n'y va d'ailleurs pas de main morte, les "é" sont par exemple supprimés au lieu d'être remplacés par des "e"...


cardoule
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 233
Inscription: Jeu Fév 19, 2004 16:24

Message le Mer Avr 12, 2006 9:59

En furetant un peu sur WRI, j'ai découvert ceci:
http://www.webrankinfo.com/forums/viewtopic_28667.htm

Il devrait y avoir au moins un lien qui t'intéressera, mais tu y trouveras sans doute plus, surtout si tu codes en php. Néanmoins dans certains exemples donnés en code, l'utilisation des regexp n'est pas du tout nécessaire, ahma.

Sinon, pour compléter ce que dit Szarah, il n'y a pas qu'une solution à ce problème, du moins tel que tu l'a posé. 8)


cardoule
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 233
Inscription: Jeu Fév 19, 2004 16:24

Message le Mer Avr 12, 2006 10:30

J'aime bien le terme "rationnelles" qui me parait plus pertinent, plus explicite et plus rationnel que "régulières". :)
Mais à présent cela fait trop longtemps que je les fréquente pour changer aussi facilement.

Quand tu parles de leur gourmandise, je supposes que tu ne fais pas allusion à celle des parenthèses capturantes mais bien à leur consomation de ressources. Mais le premier cas ne devrait néanmoins pas te poser problème si tu cherches à remplacer les codages exotiques de manière générique (ie : =%XX où XX sont des alphanumériques)


Fab le Fou
WRInaute accro
WRInaute accro
 
Messages: 1511
Inscription: Jeu Déc 02, 2004 15:20

Message le Mer Avr 12, 2006 10:55

Je viens d'ajouter une expression utilisant la classe "[[:space:]]" pour virer tous les espaces restants et même en local je sens que l'enregistrement est ralenti !

Enfin, je vais attendre les prochaines mises à jour de mes utilisateurs qui me posent généralement problème pour voir si au moins c'est efficace.


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités