Probleme regex ponctuation

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Probleme regex ponctuation

par [BTL]Thom » 26 juil. 2005, 13:16

oui voila un truc comme ca je vais me debrouiller, merci quand meme du coup de main je voulais juste savoir si y'avait une solution super propre mais tant pis merci a toi...

par Cyrano » 26 juil. 2005, 13:15

substr("chaine",-1,1) ?

par [BTL]Thom » 26 juil. 2005, 13:10

oui ca c'est la solution de debrouille tu ne fait que ajouter un espace avant la ponctuation et garder l'esplode tel quel...

En fait il me semnle qu'en php y'a un truc pour regarder le dernier char d'un string enfin c'est pas grave je vais me debrouiller...


p.s: non y'a pas de reg ex dans mon code car je l'ai ai mise autre part mais c'est le code posté qui est en fait concerné par mon probleme...

par Cyrano » 26 juil. 2005, 13:07

Il n'y a pas de regex dans l'histoire...
Enfin bon, voilà une solution testée qui fonctionne, je ne sais pas si ça répond à ta question ?
<?php
$page = "PHP FRANCE est, entre autre, la source de joie de ma vie; est-il lieu plus agréable ? Pas à ma connaissance.";
$ponctuation = array(".", ",", "!", "?", ":", ";", "-");
$remplacement = array(" .", " ,", " !", " ?", " :", " ;", " - ");
// $ctx = str_replace($filtre," ", $page);
$ctx = str_replace($ponctuation,$remplacement, $page);
$ctx = strtolower($ctx);
$ctx = str_replace("  "," ", $ctx);
$mots = explode(" ",$ctx);
foreach($mots as $mot)
{
    echo($mot."<br />\n");
}
?>

par [BTL]Thom » 26 juil. 2005, 12:44

Salut cyrano,

pour l'instant je ne fait que:
$ctx = str_replace($filtre," ", $page);
    //$ctx = str_replace($ponctuation," ", $page);
    $ctx = strtolower($ctx);
    $mots = explode(" ",$ctx);
Au lieu de remplacer les ponctuations par des espaces comme c'est fait à la ligne de commentaire, je voudrais les traiter comme des mots....


N.B: $ponctuation contient la liste des ponctuations possibles...

par Cyrano » 26 juil. 2005, 12:41

Actuellement, quel regex utilises-tu et quel résultat as-tu ?

Probleme regex ponctuation

par [BTL]Thom » 26 juil. 2005, 12:26

Bonjour a tous,
je suis débutant en regex mais je sais quand même les bases mais j'ai quand meme une petit épine dans le pieds....

Comment faire pour effectuer une "tokenisation" avec des ponctuations?

Je m'explique:

j'ai en entrée une phrase avec comme séparateur les espaces:

PHP FRANCE est, entre autre, la source principale de joie de ma vie.

Je voudrais en sortie chaque mot (ca je sais faire) maire aussi considérer les ponctuations comme des mots et donc avoir en sortie:

PHP
FRANCE
est
,
entre
autre
,
la
source
de
joie
de
ma
vie
.


Merci a tous ! ! !