[RegEx] platzhalter durch wert aus array ersetzen

Templorials

Erfahrenes Mitglied
Grüß euch..

Bekomme einen regulären Ausdruck einfach nicht richtig hin.. möchte gerne das ein String der z.B so aussieht:

Text {test1} Weiterer Text {test2} Abschluss Text

Modifiziert wird das statt {test1} der Inhalt von $array["test1"] steht usw.

Schöne Grüße
Michael
 
Nur so ein kleines Beispiel, mal eben hingekritzelt...

Vielleicht reicht das ja schon für deine Zwecke?

PHP:
<?php
$str = 'Text {test1} Weiterer Text {test2} Abschluss Text';

$array['test1'] = 'Bla';
$array['test2'] = 'blub';

$rxp = '#\{(.*?)\}#i';

preg_match_all($rxp, $str, $matches);

if(count($matches[1]) > 0)
{
	foreach($matches[1] as $match)
	{
		$str = str_replace('{'.$match.'}', ( isset($array[$match]) ? $array[$match] : '' ), $str);
	}
}

echo $str;
?>
 
Zurück