simplecontent

PHP Snippets und Beispiele

Inhaltsverzeichnis A-Z Register
Beispiel ausführen

Ein Template zeilenweise anwenden

Eine etwas speziellere Funktion, für mich selbst zumindest ist sie sehr nützlich. Das PHP Code Beispiel:
<?php

/**
* Zeilenweises ergänzen eines Template
*
* #n# increment (start n)
* _$_ Zeile
*/


function LineTemplate($s$tpl)
{
    
$rv '';
    
$arr explode("\n"$s);
    
    foreach (
$arr as $item){
        
$item trim($item);
        if (empty(
$item)){
            continue;
        }
        
$tmp str_replace('_$_'$item$tpl);
        
        
$tmp preg_replace('/#(\d+)#/e''isset($n)?++$n:$n='$tmp);
        
        
$rv .= $tmp."\n";
    
    }
    return 
$rv;

}








if (isset(
$_POST['msg']) && !empty($_POST['msg'])){


    
$_POST['msg'] = get_magic_quotes_gpc()
        ? 
stripslashes($_POST['msg'])
        : 
$_POST['msg'];


    
$_POST['tpl'] = get_magic_quotes_gpc()
        ? 
stripslashes($_POST['tpl'])
        : 
$_POST['tpl'];


    echo 
'<pre>'.htmlentities(LineTemplate($_POST['msg'], $_POST['tpl'])).'</pre>';



    
$msg htmlentities($_POST['msg']);
    
$tpl htmlentities($_POST['tpl']);
}else{
   
$msg = <<<EOT
A
B
C
EOT;
$tpl htmlentities('<option value="#1#">_$_</option>');
}

echo <<< EOT
<form method="post" action="{$_SERVER['PHP_SELF']}">
 <textarea name="msg" rows="10" cols="70">$msg</textarea>
<br/>
<input type="text" name="tpl" size="100" value="$tpl" />

 <input type="submit" value="abschicken">
</form>

EOT;

?>

Dieses PHP Snippet soll in erster Linie als Beispiel und Anregung für eigene Bemühungen dienen.
Gerne darf man es für Projekte aller Art benutzen.
Möchte jemand das Snippet also solches in ähnlicher oder anderer Form veröffentlichen ist ein kleiner Hinweis auf simplecontent.net nicht zuviel verlangt oder Herr Koch?
Für die Abwesenheit von Fehlern kann natürlich keine Gewähr gegeben werden.