2010-01-29 8 views
0

J'ai un paragraphe de texte comme:Remplacement d'une chaîne avec certains éléments dans un tableau (PHP)

paragraphe = « Bonjour {} Customer.name, Vous êtes {Customer.age} $ ans. Vous êtes né l'année {Customer.birthdate} ";

Je veux remplacer par le contenu d'un tableau tel que

array('Customer' => array('name'=>'Tom', 'age'=>8, 'birthdate'=>'1980-01-01')) 

Ma question est quelle est la meilleure façon de s'y prendre pour le faire? Si vous avez une suggestion sur la façon de formater le texte qui serait également utile. Je devine que vous devriez utiliser une sorte d'expression régulière, peut-être preg_filter ou preg_replace.

Répondre

2

Vous voulez utiliser preg_replace_callback() pour cela. Juste correspondre sur \{(.+)\.(.+)\} et indexer le tableau de manière appropriée.

+0

Vous devrez peut-être échapper aux accolades. –

+0

@Max: Droit, bonne prise. –

+0

J'essaye de travailler ça maintenant. Pourriez-vous me donner un exemple de code pour m'aider à démarrer? – jimiyash

0

Si le format de la phrase dans $ paragraph est toujours cohérent avec la syntaxe des accolades, vous pouvez utiliser str_replace().

Questions connexes