Je dois remplacer du texte dans une chaîne. Je pense qu'un exemple peut expliquer mieux:
[myfile.json] p> [exemple.php] p> Donc, ce dont j'ai besoin, c'est de trouver des chaînes entre le symbole '@' et pour chaque chaîne trouvée, je dois remplacer à l'aide de la fonction GimMenewval (). P> J'ai déjà essayé avec Preg_ * Fonctions mais je m pas très capable avec regex ... p> Merci pour votre aide p> p>
3 Réponses :
Vous pouvez utiliser la fonction preg_replace_callback Démo < / strong> p> p>
Vous pouvez utiliser Voici le Code PHP pour même, P> preg_match_all code> pour correspondre à toutes les chaînes de type @sometring @ code> à l'aide de Regex @ ([^ @] +) @ code> et ensuite itérer sur une boucle pour faire le remplacement de chacune de ces chaînes trouvées dans la chaîne d'origine à remplacer par la valeur réelle de votre fonction gimmenewval code> qui retourne la valeur de votre JSON donné. Dear --> newString1
an example string --> newString2
Transformed myString: newString1 name, this is newString2.
Vous pouvez également utiliser T-REGX TOOL :
pattern('@([^@])@')->replace($input)->all()->group(1)->by()->map([
'Dear' => "newString1",
'an example string' => 'newString2'
]);
Quelle est votre production attendue?
Où utilisez-vous
$ mystring code>?Si vous avez besoin d'utiliser des expressions régulières pour cela: Regex101.com