2008-10-23 19 views
1

我目前正在建立一个小网站,其中主div的内容通过Ajax调用进行填充。我基本上有一个PHP脚本,返回类似这样的内容:通过ajax echo命令包含html的最佳方式是什么?

(简体PHP脚本......)


if(isset($_POST["id_tuto"])){ 
    PrintHtml($_POST["id_tuto"]); 
} 

function PrintHtml($id) 
{ 
    switch($id) 
    { 
    case [...]: 
     echo "THIS IS MY HTML CONTENT"; 
    break; 
    [...] 
    } 
} 

该网页然后得到从echo命令文本,并替换的内部HTML内容分区。

我的问题是:什么是回声的HTML内容的最佳方式是什么?每次都有很多内容,因为它是一步一步的教程。每个字符串将大约50-80行的HTML代码。有没有办法把HTML内容放在一个单独的html文件中,并且回显该文件或...?

非常感谢!

回答

2

你可以做到这一点,像这样:

<?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; 
     [...] 
    } 
    } 
?> 
0

您只需按照通常生成HTML页面的方式进行操作,但不包含在HTML HEAD或BODY标记中。这只是将添加到您的网页的HTML片段。

“回声”的一切都成为输出的一部分。你可以一次完成一件或一件事,不要紧,因为它将调用作为“响应”发送到浏览器,而不管怎样。

+1

mmmm ...也许我的问题并不清楚。我只是想知道是否有更好的方式比写回声“<我的所有大的HTML内容>”... – karlipoppins 2008-10-23 20:42:54

0

您应该使用模板系统,如Smarty。这将允许你保持你的html与你的代码逻辑分开。

0

尝试从格式(HTML)中分离数据(人类可读的文本)我怀疑可以分隔50-80行HTML。您可以创建多个HTML模板,然后根据需要将数据添加到模板中。我肯定会使用Prototype或一些JavaScript库来处理在客户端接收JSON格式的数据。您可以将数据存放在平面文件中,但我认为数据库会更快,更不容易出错。 MVC模式在这里肯定会有帮助。

相关问题