[PHP] Limite chaîne de caractères à partir d'un caractère donné

Nouveau WRInaute
Bonsoir bonsoir !

Je vous explique : j'ai une chaîne de caractère enregistrée dans une base de donnée, que j'affiche grâce à un script PHP. Au moment de l'affichage, j'aimerais changer automatiquement certains caractères. C'est-à-dire qu'en fait il faudrait utiliser la fonction str_replace, mais dans ces chaînes, il peut y avoir plusieurs fois les mêmes caractères, donc str_replace remplacera TOUS les caractères voulus.

J'aimerais donc pouvoir remplacer un caractère seulement quand PHP rencontre un autre caractère spécifié avant (en l'occurence ici un slash), pour qu'il exécute sa fonction seulement sur les caractères se situant après le slash.

(si c'est possible)

Merci de votre aide !

P.
 
WRInaute discret
Bonjour, comme dit plus haut, la meilleure solution sont les expressions régulières. La suivante remplacera le prochain caractère après le slash. Tu peux changer le 1 pour le nombre de caractères à remplacer et "remplacement" par ce que tu veux le remplacer...

Code:
preg_match('/x{0,1}/', 'remplacement', $sujet)
 
WRInaute passionné
Tu peux faire ton replace directement en MySQL:
Code:
SELECT REPLACE('Salvt', 'lvt', 'lut');
Output: "Salut"
SELECT X_REG_REPLACE('Salut','/[A-Zt]/','-'); 
Output: "-alu-"
 
WRInaute discret
Bonjour... je viens de voir ça que preg_match ne remplace pas, c'est une faute de frappe, il aurait fallu lire preg_replace...
 
Discussions similaires
Haut