Naps: Menschelei: HTML in PHP / PHP in HTML

Beitrag lesen

in meinen Projekten stehen solche Dinge nicht in einer Template-Datei, sondern werden per Schleife eingefügt. Dazu nutze ich in der Regel diesen Ansatz:

<form ...>

<p>
        <select name="Schluessel">
        </select>
    </p>
...
</form>


>   
> Der obige HTML-Code steht in einer HTML-Datei, welche als Vorlage geladen wird. Die <option>-Elemente werden nun in einer Schleife erzeugt und eingebunden:  
>   
> ~~~php

$html = file_get_contents('./meine/template/datei.html');  

>   
> $options = '';  
>   
> foreach ($meine_daten as $key => $value) {  
>     $options .= sprintf(  
>         "\t\t\t".'<option value="%1$s">%2$s</option>'."\r\n",  
>         htmlspecialchars($key),  
>         htmlspecialchars($value)  
>     );  
> }  
>   
> $html = preg_replace(  
>     '~(?is)(<select[^>]*name="Schluessel"[^>]*>[\r\n]*)~',  
>     '$1'.$options,  
>     $html  
> );

Hilft Dir das als Anregung weiter?

Ja das war eigentlich genau das, was ich meinte.

Aber würdest du das so auch bei größeren / komplexeren Sachen verwenden?
Ich habe schon oft versucht, zu erfahren wie andere das machen aber bekomme von den meisten einfach nur die Antwort "verwende eine Template-Engine".

Wenn ich das ganze jetzt komplett objektorientiert angehe, und eine Klasse verwende, die mir das Formular erstellt, schaut es nachher meistens noch "hässlicher". Bei 0815 Formularen lasse ich mir das einreden, aber wenn das Formular etwas komplexer aufgebaut ist habe ich noch nie eine Klasse gesehen die das vernünftig lösen kann.

MfG Naps