Modifier la fin d'une chaine de caractère

Eléphanteau du PHP | 18 Messages

17 juil. 2008, 17:39

Bonjour,

J'aimerai modifié le dernier caractère d'une chaine si celui-ci est un espace.
Je me sert d'abitude de la fonction

Code : Tout sélectionner

preg_replace( $pattern ,$replacement , $subject )
mais dans mon cas il me donne erreur "Empty regular expression".
Je suppose qu'il n'aime pas les paramètre rentré dans $replacement de ma fonction
Pourrait-on me montrer comment arriver à virer l'espace d'une fin de chaine de caractère?

Code : Tout sélectionner

//$nom= 'c'est un test ' $nom = preg_replace(' ', substr($nom, -1), $nom);

Eléphant du PHP | 422 Messages

17 juil. 2008, 18:08

Pourrait-on me montrer comment arriver à virer l'espace d'une fin de chaine de caractère?
En utilisant la fonction rtrim() ?
Modifié en dernier par caroube le 17 juil. 2008, 18:10, modifié 1 fois.

Mammouth du PHP | 693 Messages

17 juil. 2008, 18:09

Pour definir l'espace dans les expressions régulières, il faut utiliser la classe [:blank:].

Ensuite, j'ai du mal à voir comment ca fonctionne. D'après moi, preg_replace() remplace chaque occurance de $pattern par $replacement dans $subject. Donc la, ca signifirait remplacer tous les espace blancs par le dernier caractère de la chaine. Je me trompe ?

Eléphanteau du PHP | 18 Messages

17 juil. 2008, 18:21

Oui Orgerix, il m'enleve bien tout les espace de la chaine.

Caroube merci pour la fonction c'est exactement se que je cherchais :D