0

我有问题需要你的帮助。我想在我的脚本代码(如 [tag]

一个简单的代码:

<!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] 应该替换为像“我的网站”这样的世界,我想将它用于我的语言网站。我从一个数组中得到这个词:

mylangarray [
     MY_PAGE_TITLE="my website"
]

但对于我的任何其他标签,我想将一些模块加载到左侧或右侧边栏或从我的数据库加载一些文章

我怎样才能做到这一点?

4

1 回答 1

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();

step2:您可以使用str_replace函数将您定义的自定义标签替换为您的新数据。

$leftSideBarInformation = 'We stored left bar information in this variable!';
$html = str_replace('[MY_WEBSITE_LEFT_SIDEBAR_INFORMATION]', $leftSideBarInformation, $html);

如果您有自定义标签数组,则可以使用 foreach 循环。

于 2015-05-18T19:13:39.210 回答