15. Juli 200521 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 200521 j $this->cache[$this->name] = preg_replace("/{\\\$lang->read((.*?))}/", "".$lang->read("\1")."", $this->cache[$this->name]); Probiers mal so. greetz
15. Juli 200521 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 200521 j Stimmt ja $this->cache[$this->name] = preg_replace("/{\\\$lang->read((.*?))}/", '\'\'.$lang->read(\'\1\').\'\'', $this->cache[$this->name]); probiers mal so. greetz
15. Juli 200521 j Dann fehlt immer noch der /e modifier :-) Gruß, Markus :/ bin bissl verpeilt heute greetz
15. Juli 200521 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.