0
votes

PHP remplace certaines chaînes entre les étiquettes ou les caractères

Je dois remplacer du texte dans une chaîne. Je pense qu'un exemple peut expliquer mieux:

[myfile.json] xxx

[exemple.php] xxx

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 ().

J'ai déjà essayé avec Preg_ * Fonctions mais je m pas très capable avec regex ...

Merci pour votre aide


3 commentaires

Quelle est votre production attendue?


Où utilisez-vous $ mystring ?


Si vous avez besoin d'utiliser des expressions régulières pour cela: Regex101.com


3 Réponses :


0
votes

Vous pouvez utiliser la fonction preg_replace_callback xxx

Démo < / strong>


0 commentaires

0
votes

Vous pouvez utiliser 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é.

Voici le Code PHP pour même, P>

Dear --> newString1
an example string --> newString2

Transformed myString: newString1 name, this is newString2.


0 commentaires

0
votes

Vous pouvez également utiliser T-REGX TOOL :

pattern('@([^@])@')->replace($input)->all()->group(1)->by()->map([
    'Dear' => "newString1", 
    'an example string' => 'newString2'
]);


0 commentaires