Okay, i am happy that BTML 2.0 is released(finally) It is also known as BTML Template Edition.
The 3 files(the parser, a simple template and a test BTML-file) btmltpl.php --- <?php function tpl2html($title, $images, $text, $tplfile = "simple.tpl", $links = "") { $tpldata = file_get_contents($tplfile); $trans = array('<%title%>' => $title, '<%text%>' => $text, '<%images%>' => $images, '<%links%>' => $links); $html = strtr($tpldata, $trans); return $html; } function parseTags($file) { /* readfile... here */ $filedata = file_get_contents($file); $tag_match =("!<bttag=(\w*)>\s*(.*?)\s*</bttag>!is"); preg_match_all($tag_match, $filedata, $matches); for ($i=0; $i< count($matches[0]); $i++) { $tagname = $matches[1][$i]; $tag['tagname'] = $tagname; $tag['value'] = $matches[2][$i]; $tags[] = $tag; } return $tags; } include_once "template.php"; $filename = $_GET['name']; $bttags = parseTags($filename); // echo "<HTML><HEAD>"; foreach($bttags as $tag) { switch($tag['tagname']) { case 'title': $title = $tag['value']; // echo "<TITLE>" . $tag['value'] . "</TITLE></HEAD><BODY>"; // echo "<H1>" . $tag['value'] . "</h1><br>"; break; case 'heading': $completetext .= "<h1>" . $tag['value'] . "</h1><br>"; // echo "<H1>" . $tag['value'] . "</h1><br>"; break; case 'image': if (!empty($tag['value'])) { // echo "<IMG SRC=\"" . $tag['value'] . "\">"; $images .= "<IMG SRC=\"" . $tag['value'] . "\"><br>"; } break; case 'text': // echo nl2br($tag['value']); $completetext .= nl2br($tag['value']); break; case 'nl': // echo "<br>\n"; $completetext .= "<br>"; break; case 'template': $templatefile = $tag['value']; break; case 'link': $links .= "<a href=" . $tag['value'] . ">" . $tag['value'] . "</a><br>" } } // echo "</body></html>"; if (empty($templatefile)) { echo tpl2html($title, $images, $completetext); } else { echo tpl2html($title, $images, $completetext, $templatefile); } ?> --- simple.tpl --- <HTML> <HEAD><TITLE><%title%></TITLE></HEAD> <BODY> <center><h1><%title%></h1></center><br> <hr> <%text%><br><br> Images: <br> <%images%> </BODY> </HTML> --- And test.btm --- <bttag=title> Welcome to BTML page v1! </bttag> <bttag=text> Welcome to my BTML page!!! This is an experimentally version of HTML!!! <br>Bye!!! </bttag> <bttag=nl> </bttag> <bttag=heading> Bye!!!! </bttag> --- Hope that you like it and please tell me wat you think of it, Bas -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php