如何最好地从PHP文件返回HTML内容

时间:2013-10-05 14:18:43

标签: php html

我有一个应用程序需要将数据从PHP文件提供回网页。

我可以轻松地为图像执行此操作,因为我使用<IMG>标记,其中'src'是PHP页面的URL,然后使用readfile()来返回图像。它很棒。

但是我在尝试使用嵌入的HTML标记返回直接文本时遇到问题。

我可以使用以下方式发送数据:

header('Content-type: text/html');
ob_start();
echo $data;
ob_flush();
ob_end_clean();

$ data包含一串HTML,例如:“We have 100's of <strong>GENUINE</strong> Men

但我很难找到合适的HTML TAG,例如:

对于我使用的图像:

<img border="0" alt="" src="http://mydomain.com/test/index.php?element=2"></img>

目前我用过的文字:

<object id="page" type="text/html" data="http://mydomain.com/test/index.php?element=1">
</object>

但该对象的问题是虽然它接收HTML格式的文本很好,<object>标签不好用,因为我必须为宽度等设置一个类。

我真的需要一种浏览器方式来简单地渲染我发送的内容,而不是别的。

2 个答案:

答案 0 :(得分:1)

在输出前设置标题,默认情况下如果没有指定Content-Type标题,PHP会将其发送为text/html

使用以下方法覆盖它:

// Headers are always set before any output
header("Content-Type:text/plain");

ob_start();
echo $data;
ob_flush();
ob_end_clean();

答案 1 :(得分:1)

好的,我不知道为什么不使用PHP本身将HTML包含在原始HTML文件中,但iframe如何?

<iframe src="./something/to/include.html?element=potassium"></iframe>

或者,如果服务器支持,您可以使用SSI include

<!--#include file="./something/to/include.html?element=potassium" -->

或者,如果你想使用jQuery(或者你还在使用jQuery),你可以这样做:

<script type="text/javascript" src="jquery.js"></script> 
<script> 
$(function(){
  $("#whereToPutIt").load("./something/to/include.html?element=potassium"); 
});
</script>