blob: cba823a3fe44b536cd605739c2421f4bff00d39d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
<?php
define("SRCDIR", realpath(__DIR__ . "/src/"));
function hzcom_expand(string $pageContents): string {
$params = [];
$page = SRCDIR . "/pages/" . bin2hex(random_bytes(8)) . ".tmp";
file_put_contents($page, preg_replace_callback(
"/<param:(?'paramName'[a-z][a-z0-9_-]*?)\s*>" .
"(?'paramValue'.*?)<\/param:\\1\s*>/s",
function(array $matches) use (&$params) {
$params[$matches['paramName']] = $matches['paramValue'];
return "";
},
$pageContents
));
unset($pageContents);
ob_start();
include SRCDIR . "/template.php";
$output = ob_get_clean();
if ($output === false)
$output = "";
if (is_file($page))
unlink($page);
return $output;
}
|