templates - replacements

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • templates - replacements

    PHP-Code:
    function tmpl($tmpl_path$replacements='none') {
        
    $tmpl_file = @fopen($tmpl_path"r");
        
    $tmpl_inhalt fread($tmpl_filefilesize($tmpl_path));
        
    fclose($tmpl_file);
        if (
    is_array($replacements)) {
            while (list(
    $code$replacements) = each ($replacements)) { # zeile 9
                
    $tmpl_inhalt str_replace($code$replacements$tmpl_inhalt);
                }
            }
            return 
    $tmpl_inhalt;

    wenn ich die function aufrufe, wird allerdings immer nur der erste platzhalter ersetzt. außerdem wird folgende fehlermessage ausgegeben:
    Warning: Variable passed to each() is not an array or object in c:\apache\htdocs\functions.php on line 9


    PHP-Code:
    echo tmpl('templates/partner/viewdata.temp', array('{vorname}' => $m_rows[vorname], '{nachname}' => $m_rows[nachname], '{email}' => $m_rows[email], '{klammid}' => $m_rows[klammid])); 
    so wird immer nur {vorname} ersetzt.

    auf phplib würde ich eigentlich gerne verzichten...

  • #2
    while (list($code, $replacements) = each ($replacements)) { # zeile 9

    du überschreibst die variable $replacements, wodurch sie kein Array mehr ist, sondern nur noch ein String. und dadurch nicht mehr in each verarbeitet werden kann.

    Kommentar

    Lädt...
    X