[PHP] Petit soucis avec une expression régulière

Petit soucis avec une expression régulière [PHP] - PHP - Programmation

Marsh Posté le 13-12-2002 à 01:46:11    

J'utilise la ligne suivante pour supprimer d'une chaine tous les numéros dont le nombre de chiffres n'est pas compris entre 2 et 18, ainsi que tous les mots donc le nombre de caractère n'est pas compris entre 3 et 18 :
 

$message = preg_replace("/\b([a-z]{1,2}|[0-9]{1,1}|[a-z0-9]{18,})\b/", " ", $message);


 
Soucis : je voudrais qu'un mot comme X-Box ne soit pas transformé en -Box
 
Une idée ? :)


Message édité par Core 666 le 13-12-2002 à 01:47:28
Reply

Marsh Posté le 13-12-2002 à 01:46:11   

Reply

Marsh Posté le 13-12-2002 à 03:37:57    

Code :
  1. $message = "non franchement oui il est a noter ke je ne pense pas que ca de ca marche x-box 1 12 123 1234 xbox box-x 666 azertyuiopmlkjhgfds ";
  2. echo "$message<br>";
  3. $message = preg_replace("/\s([a-z]{1,2}|[0-9]{1,1}|[a-z0-9]{18,})\s/si", " ", $message);
  4. $message = preg_replace("/\s([a-z]{1,2}|[0-9]{1,1}|[a-z0-9]{18,})\s/si", " ", $message);
  5. echo "$message<br>";


 


non franchement oui il est a noter ke je ne pense pas que ca de ca marche x-box 1 12 123 1234 xbox box-x 666 azertyuiopmlkjhgfds  
non franchement oui est noter pense pas que marche x-box 12 123 1234 xbox box-x 666  


 
soit indulgent ...  il est presque tard


Message édité par beleg le 13-12-2002 à 03:38:32
Reply

Marsh Posté le 13-12-2002 à 11:39:32    

C'est exactement ce que je cherchais :jap:
 
Merci. Tu connais un tuto accessible expliquant l'utilisation de \s, \b, /si ? Je dois bien dire que ca reste assez confu pour moi :(

Reply

Marsh Posté le 13-12-2002 à 11:40:12    

Core 666 a écrit :

J'utilise la ligne suivante pour supprimer d'une chaine tous les numéros dont le nombre de chiffres n'est pas compris entre 2 et 18, ainsi que tous les mots donc le nombre de caractère n'est pas compris entre 3 et 18 :
 

$message = preg_replace("/\b([a-z]{1,2}|[0-9]{1,1}|[a-z0-9]{18,})\b/", " ", $message);


 
Soucis : je voudrais qu'un mot comme X-Box ne soit pas transformé en -Box
 
Une idée ? :)

Et si en plus des lettres et des chiffres tu rajoutais le caractère - ?

$message = preg_replace("/\b([a-z]{1,2}|[0-9]{1,1}|[a-z\-0-9]{18,})\b/", " ", $message);


Reply

Marsh Posté le 13-12-2002 à 12:47:19    

Reply

Marsh Posté le 13-12-2002 à 12:48:22    

omega2 a écrit :

Et si en plus des lettres et des chiffres tu rajoutais le caractère - ?

$message = preg_replace("/\b([a-z]{1,2}|[0-9]{1,1}|[a-z\-0-9]{18,})\b/", " ", $message);


 


 
 :non:  :D

Reply

Marsh Posté le 13-12-2002 à 14:22:08    

beleg a écrit :


 
 :non:  :D  

Bon, tant pis, je débutes juste en regexp et je pensais que - était un métacaractère et que pour son problème, c'était ça qu'il fallait faire.
Moi, j'en suis juste à faire des regexp valide pour gérer tout ce qui est du genre des codes UBB.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed