Hello, je souhaiterais supprimer tous les mots qui font moins de 3 caractères dans une chaine.
Et si je suis là, c'est que j'y arrive pas
function fun($txt)
{
echo "<br />Match: ".$txt[0]."<br /><br />";
return ' ';
}
$txt = "aa bb xxxx ccc dd\nee ff yyyy gg\nhh ii j k l mm zzzz";
$txt = str_replace("\n", ' ', $txt); // On vire les sauts de ligne
echo preg_replace_callback('/ ([a-z]{1,3}) /', 'fun', ' '.$txt.' ');
|
J'obtiens le résultat suivant:
Match: aa Match: ccc Match: ee Match: gg Match: ii Match: k Match: mm bb xxxx dd ff yyyy hh j l zzzz
|
alors qu'il ne devrait me rester que "xxxx yyyy zzzz" (avec une certaine quantités d'espaces dans la chaine)
Si qqn voit le pb, je suis sur que c'est tout con...
D'ailleurs, je viens de remarquer un truc, ca saute 1 élément à trouver sur 2
Merci de m'indiquer mon erreur
Message édité par spark le 14-06-2005 à 21:27:46