Pour connaisseurs en expressions regulières (regex)

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par Zecat, 27 Mai 2010.

  1. Zecat
    Zecat WRInaute accro
    Inscrit:
    1 Mars 2005
    Messages:
    9 119
    J'aime reçus:
    1
    J'ai pompé quelque part un truc sans le comprendre vraiment et du coup je seche un peu pour l'adapter ...

    Code:
    $content="Accueil Création";
    $tab_mots= split("[^[:alpha:]']+", $content);
    il considère le é comme un separateur et donc je me retrouve avec trois mots :

    Accueil
    Cr
    ation

    :oops:

    Que faut il changer dans l expression reg ? Merci par avance
     
  2. jcaron
    jcaron WRInaute accro
    Inscrit:
    13 Février 2004
    Messages:
    2 579
    J'aime reçus:
    0
    Re: Pour connaisseurs en expression regulières

    Commence par utiliser preg_split (qui est basé sur PCRE) plutôt que split (il te faudra ajouter des délimiteurs autour de la regex). Si ça ne suffit pas, quel est l'encodage de ton texte? ISO, UTF-8...?

    Jacques.
     
  3. aladdin
    aladdin WRInaute passionné
    Inscrit:
    29 Avril 2005
    Messages:
    1 235
    J'aime reçus:
    0
    Re: Pour connaisseurs en expression regulières

    tu veux faire quoi au juste ? spliter sur les espace ?

    si c'est le cas utilise ca



    Code:
    $tab_mots= split("[\s]", $content);
     
  4. Zecat
    Zecat WRInaute accro
    Inscrit:
    1 Mars 2005
    Messages:
    9 119
    J'aime reçus:
    1
    Re: Pour connaisseurs en expression regulières

    je suis en charset=iso-8859-1"

    Voila un texte "type" :

    " Ceci est, c'est pas original, un texte type (avec des parenthèses, des chiffres 12345 et autres joyeuseutés) ! "

    Je veux splitter tout ce qui n'est pas une lettre ou un chiffre et donc recupérer dans le tableau :

    Ceci
    est
    c
    est
    pas
    original
    un
    texte
    type
    avec
    des
    parenthèses
    des
    chiffres
    12345
    et
    autres
    joyeuseutés

    edit : je viens effectivement d'aller voir preg-split

    $keywords = preg_split("/[\s,]+/", "langage hypertexte, programmation");

    je dois donc ajouter toute sles ponctuations dans la chaine :) - = ! ? etc etc) ?
     
  5. Zecat
    Zecat WRInaute accro
    Inscrit:
    1 Mars 2005
    Messages:
    9 119
    J'aime reçus:
    1
    Re: Pour connaisseurs en expression regulières

    je viens de tester, ca marche deja mieux (je perds plus les é ... mais par contre je garde trop de trucs (! - . bref toutes les ponctuation et separateurs divers).
     
  6. jcaron
    jcaron WRInaute accro
    Inscrit:
    13 Février 2004
    Messages:
    2 579
    J'aime reçus:
    0
    Re: Pour connaisseurs en expression regulières

    Ca donne quoi preg_split("/\W+/",$chaine)?

    Jacques.
     
  7. Zecat
    Zecat WRInaute accro
    Inscrit:
    1 Mars 2005
    Messages:
    9 119
    J'aime reçus:
    1
    Re: Pour connaisseurs en expression regulières

    ca donne bien : plus aucun separateur .... mais plus de é non plus ...

    actualit

    perdu le é
     
  8. aladdin
    aladdin WRInaute passionné
    Inscrit:
    29 Avril 2005
    Messages:
    1 235
    J'aime reçus:
    0
    Re: Pour connaisseurs en expression regulières

    fallait expliquer ;)

    il te suffit d'ajouter
    Code:
    setlocale(LC_CTYPE, 'fr_FR.ISO-8859-1');
    
    au tout début de ton script, et ensuite d'utiliser le code que tu as posté au début. pour matcher les numéros en plus des caractères tu peux utiliser :alnum: au lieu de :alpha:
     
  9. jcaron
    jcaron WRInaute accro
    Inscrit:
    13 Février 2004
    Messages:
    2 579
    J'aime reçus:
    0
    Re: Pour connaisseurs en expression regulières

    C'est bizarre, je viens d'essayer et ça marche comme il faut. Tu as quoi dans $_ENV['LANG']?

    Jacques.

    (grilled)
     
  10. medium69
    medium69 WRInaute passionné
    Inscrit:
    7 Mai 2005
    Messages:
    1 940
    J'aime reçus:
    3
    Re: Pour connaisseurs en expression regulières

    Voici ce que tu cherches je pense :

    Code:
    $value = preg_split('#([[\s\[\]\\\@.…,(){}><!?/\']+)#Us', $value, -1, PREG_SPLIT_NO_EMPTY); // Récupération des mots avec séparation des apostrophes
    $value est un tableau...
     
  11. Zecat
    Zecat WRInaute accro
    Inscrit:
    1 Mars 2005
    Messages:
    9 119
    J'aime reçus:
    1
    Re: Pour connaisseurs en expression regulières

    ok je vais essayer ca. te tiens au courant
     
  12. Zecat
    Zecat WRInaute accro
    Inscrit:
    1 Mars 2005
    Messages:
    9 119
    J'aime reçus:
    1
    Re: Pour connaisseurs en expression regulières

    ca change rien. je pers toujours les accents ...

    Precision : ma page est iso et le texte en question vient d'un site utf8. Donc j'ai applique un utf decode sur le texte avant
     
  13. jcaron
    jcaron WRInaute accro
    Inscrit:
    13 Février 2004
    Messages:
    2 579
    J'aime reçus:
    0
    Re: Pour connaisseurs en expression regulières

    Tu peux nous dire ce que contient $_ENV['LANG'] (voire l'ensemble de $_ENV, voire l'ensemble de phpinfo)?

    Jacques.
     
  14. Zecat
    Zecat WRInaute accro
    Inscrit:
    1 Mars 2005
    Messages:
    9 119
    J'aime reçus:
    1
    Re: Pour connaisseurs en expression regulières

    je vais regarder cela.
     
  15. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    19 274
    J'aime reçus:
    0
    et
    Code:
    preg_match_all("#[0-9a-zàáâãäåòóôõöøèéêëçìíîïùúûüÿñÀÁÂÃÄÅBÈÉËÊÌÍÎÏÒÓÔÕÖÙÚÛÜÝ]{2,}#i", ($content),$tab_mots);
    ?
     
  16. Zecat
    Zecat WRInaute accro
    Inscrit:
    1 Mars 2005
    Messages:
    9 119
    J'aime reçus:
    1
    bon la avec le lancement de tpmc j'ai été un peu en pause sur cet autre dossier. je regarde ca dans la semaine de toute façon.
     
Chargement...
Similar Threads - connaisseurs expressions regulières Forum Date
Expression Régulière, Htaccess ? (Pour connaisseurs) URL Rewriting et .htaccess 3 Août 2005
Au createur ou connaisseurs de l'annuaire NetRef Administration d'un site Web 2 Juin 2005
Idées d'expressions régulières utiles en SEO Référencement Google 17 Mai 2021
Outil pour enregistrer les expressions de recherche (et mots clés) Rédaction web et référencement 20 Novembre 2020
PHP Expressions Régulières ! Modifier plusieurs occurences Développement d'un site Web ou d'une appli mobile 5 Août 2015
Référencer expressions similaire Débuter en référencement 31 Mars 2015
Utilisation du caractère ' dans les mots et expressions clés Débuter en référencement 24 Avril 2013
Mon site a disparu de Google sur certaines expressions clés Problèmes de référencement spécifiques à vos sites 26 Octobre 2012
Expressions régulières début et fin de mot Développement d'un site Web ou d'une appli mobile 11 Août 2012
Expressions régulières et filtre Google Analytics Google Analytics 18 Avril 2012
Google et les expressions exactes Rédaction web et référencement 12 Mars 2012
Expressions régulières entonnoir de conversion Google Analytics 3 Février 2012
Expressions clés sur la page d'acceuil Débuter en référencement 25 Novembre 2011
expressions régulieres et fichier robots Débuter en référencement 27 Mai 2011
Expressions Régulières ! J'ai une question Développement d'un site Web ou d'une appli mobile 12 Avril 2011
expressions mots clés "inversées" ?! Débuter en référencement 22 Mars 2011
Regrouper des expressions qui se ressemblent, en PHP ou MySQL, à l'aide Développement d'un site Web ou d'une appli mobile 6 Mars 2011
Déclassement brutal sur de nombreuses expressions Problèmes de référencement spécifiques à vos sites 18 Février 2011
Yoyo journalier sur les visites via les expressions naturelles Crawl et indexation Google, sitemaps 23 Novembre 2010
Beaucoup de fois les mots et expressions clés sur une page = Sanction Google? Débuter en référencement 29 Août 2010