我目前正在构建一个小型网站,通过Ajax调用填充主div的内容。我基本上有一个php脚本,它返回如下内容:
(简化的php脚本…)
if(isset($_POST["id_tuto"])){
PrintHtml($_POST["id_tuto"]);
}
function PrintHtml($id)
{
switch($id)
{
case [...]:
echo "THIS IS MY HTML CONTENT";
break;
[...]
}
}
然后,网页从echo命令中获取文本,并替换内容div的内部html
我的问题是:回显html内容的最佳方式是什么?每次都有很多内容,因为这是一个循序渐进的教程。每个字符串大约是50-80行HTML代码。有没有办法把html内容放在一个单独的html文件中,并回显该文件或。。。?
非常感谢!!
你可以这样做:
<?php
function PrintHtml($id) {
switch($id) {
case [...]:
?>
<h1>Tut page 1</h1>
<p>this is html content.</p>
<?php
break;
[...]
}
}
?>
或者:
<?php
function PrintHtml($id) {
switch($id) {
case [...]:
include 'section1.php';
break;
[...]
}
}
?>
您只需按照通常生成HTML页面的方式进行操作,只是它没有封装在HTML HEAD或BODY标记中。这只是将添加到页面中的HTML片段。
您"回声"的所有内容都将成为输出的一部分。你可以一次完成它的部分或全部,这并不重要,因为它的调用会作为"响应"作为一个块发送到浏览器。
您应该使用模板系统,例如Smarty。这将允许您将html与代码逻辑分离。
尝试将数据(可读文本)与格式化(HTML)分离我怀疑可以分离50-80行HTML。您可以创建几个HTML模板,然后根据需要将数据添加到模板中。我肯定会使用Prototype或一些JavaScript库来处理在客户端接收JSON格式的数据。你可以把数据放在平面文件中,但我认为数据库会更快,更不容易出错。MVC模式在这里肯定会有所帮助。