preg_replace ersetzung :/

darksky77

Grünschnabel
moin liebes forum :)

ich habe ein problem mit meinem regex ausdruck :(
und zwar will ich den ausdruck: ("/<!-- block: ".$block_name." -->(.*?)<!-- block end: ".$block_name." -->/is"

ersetzen mit dem string $html in dem string $this->html[$this->tpl]['replaced']

leider funktioniert das garnicht :(

folgende zeile benutze ich zum ersetzen:
Code:
$this->html[$this->tpl]['replaced'] = preg_replace("/<!-- block: ".$block_name." -->(.*?)<!-- block end: ".$block_name." -->/is", $html, $this->html[$this->tpl]['replaced']);
 
Was genau heißt, es funktioniere nicht? Was funktioniert nicht? Gibt es eine Fehlermeldung? Ein paar mehr Informationen wäre hilfreich.
 
hi

also die funktion liefert nix zurück. es sollt eigentlich in dem großen string $this->html[$this->tpl]['replaced'] der block zwischen <!-- block .... und <!-- block end: ..... ---> ersetzt werden mit $html
er liefert mir dann aber nur nen leeren string wieder :(
 
alle beteiligten variabeln haben einen wert. der ausdruck funktionert bei einem preg_match auch. nur nich beim preg_replace ?(
 
mh. hoffe das hilft :(

der fehler liegt in der funktion parse_block (ca zeile 162)

Code:

PS: der code is noch nicht wirklich optimiert ;) - aber vorschläge bezüglich verbesserungen -> gern :)
 
Zuletzt bearbeitet:
Ist es Absicht, dass mal $this->tpl und mal $tpl_name zur Auswahl des Templates verwendet wird?
 
Gumbo hat gesagt.:
Ist es Absicht, dass mal $this->tpl und mal $tpl_name zur Auswahl des Templates verwendet wird?


Code:
$this->html[$this->tpl]['replaced'] = preg_replace("/<!-- block: ".$block_name." -->(.*?)<!-- block end: ".$block_name." -->/is", $html, $this->html[$this->tpl]['replaced']);
print_r($block_html);

wenn du diesen code meinst, das is debug code.

$this->tpl beinhaltet den namen des templates und entspricht $tpl_name
 
Zurück