Supprimer tous les caractères après un caractère précis

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 : Supprimer tous les caractères après un caractère précis

Re: Supprimer tous les caractères après un caractère précis

par JoIsland » 02 janv. 2012, 13:42

d'accord, très bien merci à toi :)

Re: Supprimer tous les caractères après un caractère précis

par Ryle » 02 janv. 2012, 13:39

Il est préférable d'utiliser les fonction preg_match et preg_replace plutôt que ereg et ereg_replace, ces dernières étant dépréciées... La syntaxe du masque est un peu différente, mais on s'y fait vite, et les traitements sont plus rapides :)
$sku = preg_replace("/-?_[0-9]+/","",$sku);
Ceci recherche les sous-chaines qui :
- commencent éventuellement par un tiret " -? " ( le ? équivaut à 0 ou 1 occurrence)
- contiennent un " _ " suivi d'au moins un chiffre " [0-9]+ " (le + équivaut à 1 ou N occurrence)

Re: Supprimer tous les caractères après un caractère précis

par JoIsland » 02 janv. 2012, 13:28

Super merci ! par contre lorsque je met :
$sku = ereg_replace("-_[0-9]","",$sku);
il m'affiche toujours les chiffres mais me vire "-_" , si je met
$sku = ereg_replace("_[0-9]","",$sku);
il enlève les chiffres + le "_" moi je souhaite qu'il me vire "-_25565" par exemple .

Re: Supprimer tous les caractères après un caractère précis

par Ryle » 02 janv. 2012, 13:03

Le plus simple est d'utiliser des expressions régulières pour spécifier le masque recherché : /_[0-9]+/

Cette expression va rechercher toutes les occurrences d'un " _ " suivi de 1 à N chiffres compris entre 0 et 9. Tu peux alors utiliser preg_replace() pour remplacer tout ce qui correspond à ton masque par une chaine vide et ainsi supprimer ce qui te gène :)

Re: Supprimer tous les caractères après un caractère précis

par JoIsland » 02 janv. 2012, 12:32

Ok j'ai trouvé la solution,
$skustr = strstr($sku, '_-', true);
complication de la chose :

j'ai ADI_Pei_HO_---S_BL-_002518

je souhaite récupéré : ADI_Pei_HO_BL et qu'il supprime _--S-_002518 , en gros qu'il supprime tous les chiffres avec les "_"


comment faire ?

Supprimer tous les caractères après un caractère précis

par JoIsland » 02 janv. 2012, 11:57

Bonjour à tous,

Je souhaiterai connaitre la syntaxe qui me permettrai de supprimer tous les caractère se trouvant après un caractère , exemple :

CC_BABA_HOHO_FF--XXL_OHO_UHUH_45655

je souhaite qu'il m'affiche : CC_BABA_HOHO_FF , donc qu'il me supprimer tous les caractère dès qu'il trouve "-"


Merci beaucoup