我有问题,需要你的帮助。 我想在我的脚本代码中使用我的自定义标签,如[tag]并分析所有html代码然后解析器代码并用PHP代码或我的输出世界替换这些标签并回显我的输出
一个简单的代码:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>[MY_PAGE_TITLE]</title>
</head>
<header></header>
<div class="left">[MY_WEBSITE_LEFT_SIDEBAR_INFORMATION]</div>
<article>[MY_WEBSITE_ARTICLE]</article>
<div class="right">[MY_WEBSITE_RIGHT_SIDEBAR_INFORMATION]</div>
<footer></footer>
<body>
</body>
</html>
我的第一个标签[MY_PAGE_TITLE]应该替换为一个世界,例如&#34;我的网站&#34; 我想在我的语言网站上使用它。 我从像这样的数组中得到这个词:
mylangarray [
MY_PAGE_TITLE="my website"
]
但对于我的任何其他标签,我想将一些模块加载到左侧或右侧边栏或从我的DB加载一些文章
我该怎么做?
答案 0 :(得分:1)
step1:您在主视图文件中定义自定义标记,然后在服务器端使用PHP ob_start 函数运行输出缓冲区,然后使用require或require_once或include或include_once你的档案。 现在,在PHP中定义变量和 ob_get_contents 函数,将所有文件代码存储在变量中。像这样:
$html = ob_get_contents();
现在您拥有变量中的所有视图文件。
您可以使用 ob_end_clean 功能清理缓冲区。
示例:
ob_start();
require_once 'mainViewFile.php';
$html = ob_get_contents();
ob_end_clean();
第2步:您可以使用 str_replace 功能将您定义的自定义标记替换为新数据。
$leftSideBarInformation = 'We stored left bar information in this variable!';
$html = str_replace('[MY_WEBSITE_LEFT_SIDEBAR_INFORMATION]', $leftSideBarInformation, $html);
如果您有自定义标记数组,则可以使用foreach循环。