Kyllästyneenä kirjoittamaan html:ää php:n sekaan tein sitten tälläisen. Jos mieleesi tulee rakentavia ehdotuksia tai parempi toteutusmalli, niin mailaa ihmeessä.
ps. Kirjasto ei välttämättä sisällä aivan kaikkia tageja mutta tärkeimmät ainakin.
<?php /* Feel free to use and change this library as you like */ function form($tietue,$nimi,$arvo,$tyyppi,$maaritteet) { switch ($tietue) { case "alku": $formi='<form action="'.$arvo.'" name="'.$nimi.'" method="post" enctype="multipart/form-data" '.$maaritteet.'>'."\n"; break; case "loppu": $formi="</form>"."\n"; break; case "input": if (!empty($nimi)) $name = 'name="'.$nimi.'"'; $formi='<input '.$name.' value="'.$arvo.'" type="'.$tyyppi.'" '.$maaritteet.'>'."\n"; break; case "area": $formi='<textarea name="'.$nimi.'" '.$maaritteet.'>'.$arvo.'</textarea>'."\n"; break; case "selectalku": $formi='<select name="'.$nimi.'" '.$maaritteet.'>'."\n"; break; case "selectloppu": $formi="</select>"."\n"; break; case "select": $formi='<select name="'.$nimi.'" '.$maaritteet.'>'.$arvo.'</select>'."\n"; break; case "option": $formi='<option value="'.$nimi.'" '.$maaritteet.'>'.$arvo.'</option>'."\n"; break; case "submit": $formi='<input type="submit" value="'.$nimi.'" '.$maaritteet.'>'."\n"; break; } return $formi; } function optiongrp($label,$optiot) { return '<OPTGROUP label="'.$label.'">'.$optiot.'</OPTGROUP>'; } function table($tyyppi='',$leveys='',$arvot='') { switch ($tyyppi) { case 'alku': $taulu='<table'; if (!empty($leveys)) $taulu.=' width="'.$leveys.'" '; $taulu.=' '.$arvot.'>'."\n"; break; case 'rivialku': $taulu='<tr '.$arvot.'>'."\n"; break; case 'riviloppu': $taulu='</tr>'."\n"; break; case 'rivi': $taulu='<tr '.$arvot.'>'.$leveys.'</tr>'."\n"; break; case 'solualku': $taulu='<td '.$arvot.'>'."\n"; break; case 'soluloppu': $taulu='</td>'."\n"; break; case 'solu': $taulu='<td '.$arvot.'>'.$leveys.'</td>'."\n"; break; case 'loppu': $taulu="</table>"."\n"; break; } return $taulu; } function div($tyyppi,$maare='') { switch ($tyyppi) { case 'alku': $divi='<div '.$maare.'>'."\n"; break; case 'loppu': $divi="</div>"."\n"; break; } return $divi; } function divi($sisalto,$maare='') { return '<div '.$maare.'>'.$sisalto."</div>"."\n"; } function spani($sisalto,$maare='') { return '<span '.$maare.'>'.$sisalto."</span>"."\n"; } function span($tyyppi,$maare='') { switch ($tyyppi) { case 'alku': $spani='<span '.$maare.'>'."\n"; break; case 'loppu': $spani="</span>"."\n"; break; } return $spani; } function a($url,$teksti,$arvot='') { return $linkki='<a href="'.$url.'" '.$arvot.'>'.$teksti.'</a>'; } function pre($sisalto) { return '<pre>'.$sisalto.'</pre>'."\n"; } function style($sisalto) { return '<style type="text/css">'.$sisalto.'</style>'."\n"; } function b($sisalto) { return '<b>'.$sisalto.'</b>'; } function u($sisalto) { return '<u>'.$sisalto.'</u>'."\n"; } function i($sisalto) { return '<i>'.$sisalto.'</i>'."\n"; } function h($koko,$sisalto) { return '<h'.$koko.'>'.$sisalto.'</h>'."\n"; } function center($sisalto) { return '<center>'.$sisalto.'</center>'."\n"; } function img($sisalto,$tyyli) { return '<img src="'.$sisalto.'" '.$tyyli.'>'; } function br() { return '<br>'."\n"; } function hr($tyyli='') { return '<hr '.$tyyli.'>'."\n"; } function space() { return ' '; } function iframe($nimi,$kontentti,$kohde,$maaritteet='') { if (!empty($kohde)) $src='src="'.$kohde.'"'; return '<iframe name="'.$nimi.'" '.$maaritteet.'>'.$kontentti.'</iframe>'."\n"; } function ul($sisalto,$maareet='') { return '<ul '.$maareet.'>'.$sisalto.'</ul>'."\n"; } function li($sisalto,$maareet='') { return '<li '.$maareet.'>'.$sisalto.'</li>'."\n"; } function ol($sisalto,$maareet='') { return '<ol '.$maareet.'>'.$sisalto.'</ol>'."\n"; } /* copyrigh: Aki Hakala http://dekomania.info (this notice can be removed) */ ?>
Nii'in, hyvät tavathan sanovat, ettei saa käyttää maagisia string-constantteja vaan ne pitää kääriä siistiin funktioon:
function space() { return ' '; }
Aihe on jo aika vanha, joten et voi enää vastata siihen.