IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Bout de script de nettoyage


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 99
    Points : 60
    Points
    60
    Par défaut Bout de script de nettoyage
    Bonjour,

    Je suis actuellement en train de mettre en place un moteur de recherche sur un forum.
    J'ai suivi le tutoriel dont j'ai repris le remplacement des lettres accentuées :
    http://sqlpro.developpez.com/cours/indextextuelle/

    J'en arrive au script de nettoyage d'un message, je cherche à couvrir toutes les solutions possibles (je ne garde que les mots d"au moins 2 lettres).

    J'ai fait ce petit bout de code mais je pense qu'il y a moyen de l'améliorer ou de l'optimiser (niveau preg_replace surtout je pense) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
         // Enleve les tags et met en minuscule
         $message = strtolower(strip_tags($message));
         // Change tous les accents
         $message = strtr($message , 'ÀàÁáÂâÃãÄäÅåÇçÉéÈèÊêËëÌìÍíÎîÏïÑñÒòÓóÔôÕõÖöÙùÚúÛûÜüÝýŸÿ', 'aaaaaaaaaaaacceeeeeeeeiiiiiiiinnoooooooooouuuuuuuuyyyy');
         // Remplace quelques cas particuliers
         $message = str_replace(array('Æ','æ','Œ','œ'), array('ae','ae','oe','oe'), $message );
         // Remplace tous ce qui est non alphanumerique en espace
         $message = preg_replace('#[^a-z0-9]#', ' ', $it_message);
         // Retire tous les mots de 1 lettre
         $message = preg_replace('#(^|[[:blank:]])[a-z0-9]([[:blank:]]|$)#', ' ', $it_message);
         // Remplace les espaces multiples par un seul espace
         $message = preg_replace('#[[:blank:]]+#', ' ', $message );
         // Effacer les espaces au debut et a la fin
         $message = trim($message);
    Merci pour votre aide

  2. #2
    Membre confirmé Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Points : 594
    Points
    594
    Par défaut
    Je le trouve plutot bien ton bout de code.
    Je pense que le moteur ira plus vite a executer des regexp simple plutot qu'un gros truc complique

  3. #3
    Membre éclairé Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Points : 846
    Points
    846
    Par défaut
    Je suis du même avis que stunti. Je ne vois pas très bien ce qu'il y a à optimiser.

  4. #4
    Membre averti Avatar de sourivore
    Homme Profil pro
    Lead Tech Front-End
    Inscrit en
    Juin 2005
    Messages
    451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lead Tech Front-End

    Informations forums :
    Inscription : Juin 2005
    Messages : 451
    Points : 334
    Points
    334
    Par défaut
    Si vraiment tu veux optimiser tes recherches, pour contourner les fautes de frappes ou d'orthographe tu peux utiliser des algo utilisés en TLN (traitement du langage naturel)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [BATCH] Script de nettoyage
    Par darkwall_37 dans le forum Windows
    Réponses: 7
    Dernier message: 09/03/2008, 16h31
  2. Script de nettoyage (aide)
    Par waspy59 dans le forum Windows Vista
    Réponses: 3
    Dernier message: 18/01/2008, 16h22
  3. aide pour traduire un bout de script php
    Par maximenet dans le forum ASP
    Réponses: 1
    Dernier message: 04/10/2007, 00h14
  4. [AIX] Script de nettoyage ODM
    Par Abdelkad dans le forum AIX
    Réponses: 2
    Dernier message: 13/08/2007, 19h03
  5. Script de nettoyage
    Par c-ve dans le forum Linux
    Réponses: 6
    Dernier message: 29/05/2006, 11h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo