Dominic: PHP schluckt Javascripts in Template Html file

Ich weiß ich bin bestimmt blöd und es is ganz simpel. Ich arbeite auf einer seite mit templates auf der die nmenüsteuerung über JS läuft, da nun aber die ganzen funktionsanweisungen in {} stwehem schlückt das php das einfach weil es es vermutlich für ein nicht definiertes template hält :(  auch wenn ich das javascript in ne extra variable packe und es nacher als template einsetzen laße killt derm ir alles im JS was in geschweiften klammern steht, wask ann ich da tun?

Danke!

P.S.: Template Datei stammt von http://www.dynamicwebpages.de/50.tutorials.php?dwp_tutorialID=10

  1. Ich weiß ich bin bestimmt blöd und es is ganz simpel. Ich arbeite auf einer seite mit templates auf der die nmenüsteuerung über JS läuft, da nun aber die ganzen funktionsanweisungen in {} stwehem schlückt das php das einfach weil es es vermutlich für ein nicht definiertes template hält :(  auch wenn ich das javascript in ne extra variable packe und es nacher als template einsetzen laße killt derm ir alles im JS was in geschweiften klammern steht, wask ann ich da tun?

    Falls du die Template.inc von PHPLIB verwendest, musst du in der local.inc die Funktion finish überschreiben. S.u.
    Falls du eine andere Template-Lib verwendest, sollte dir die RegExp unten auch weiterhelfen...

    Grüsse,
    Frederik

    override the finish function to better handle with javascript.

    we don't have whitespace in our var names, so no need to be

    so all encompassing with the remove.

    function finish($str) {
        switch ($this->unknowns) {
          case "keep":
          break;

    case "remove":
            $str = preg_replace("/{[-_a-zA-Z0-9]+}/", "", $str);
          break;

    case "comment":
            $str = preg_replace("/{([-_a-zA-Z0-9]+)}/", "<!-- Template $handle: Variable \1 undefined -->", $str);
          break;
        }
        return $str;
      }

    1. geht, vielen dank! :)