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