15. Juli 200520 j Hallo, Ich habe ein kleines Problem mit preg_replace. Und zwar habe ich diesen Code: $this->cache[$this->name] = preg_replace("/{\\\$lang->read((.*?))}/", "".$lang->read("\\1")."", $this->cache[$this->name]); die Klasse $lang wurde Globalisiert: global $lang; $lang = new languages("deutsch"); In der Klasse ist nur die Funktion "read" die ich am Anfang zum testen mit : print $language; exit;[/php] Beendet habe. ausgegeben wird nur \1 Ich hoffe mir kann geholfen werden. Danke!!
15. Juli 200520 j $this->cache[$this->name] = preg_replace("/{\\\$lang->read((.*?))}/", "".$lang->read("\1")."", $this->cache[$this->name]); Probiers mal so. greetz
15. Juli 200520 j Hi, Was willst du genau erreichen? Das mit dem "\1" kann an dieser Stelle so nicht funktionieren.. Backreferences sind nur in einem String möglich, ausser du interpolierst das replacement indem du beim pattern den "/e" modifier verwendest.. Gruß, Markus
15. Juli 200520 j Stimmt ja $this->cache[$this->name] = preg_replace("/{\\\$lang->read((.*?))}/", '\'\'.$lang->read(\'\1\').\'\'', $this->cache[$this->name]); probiers mal so. greetz
15. Juli 200520 j Dann fehlt immer noch der /e modifier :-) Gruß, Markus :/ bin bissl verpeilt heute greetz
15. Juli 200520 j Hi Danke für eure Antworten. Mit print erscheint nun: ('LANG_START_ONLINE') wie kann ich dann noch (' und ') entfernen? Danke!
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.