Mailinglisten-Archive |
Alex Emken schrieb: > <?php > > $input = "bla bla bla {foobar} bla bla bla\n bla bla {fubar} blaa bla > {dasgehtauch} bla bla "; > > function myReplace($matches) { > > $a = array('foobar' => 'hallo', > 'fubar' => 'blubb', > 'dasgehtauch' => '42'); > > $str = str_replace(array('{','}'), '', $matches[1]); > return (isset($a[$str])) ? $a[$str] : $matches[1]; > } > > $output = preg_replace_callback('%({\w+})%', "myReplace", $input); > > echo $output; Hallo, der Reguläre-Ausdruck könnte '%{(\w+)}%' heißen. Dann bekommst Du die geschweiften Klammern nicht mitgeliefert. Und somit könnte die Zeile $str = str_replace(array('{','}'), '', $matches[1]); weg. Gruß Rafael
php::bar PHP Wiki - Listenarchive