PHP 从回显输出中删除 <body><html>...</html></body>

Posted

技术标签:

【中文标题】PHP 从回显输出中删除 <body><html>...</html></body>【英文标题】:PHP remove <body><html>...</html></body> from echo output 【发布时间】:2013-12-01 08:09:00 【问题描述】:

我有一个 php 脚本,它在我的数据库中进行查询并返回一个字符串(如 "2" )。我使用

打印它
print strip_tags('2');

但在浏览器的输出中我得到:

<body><html>2</html></body>

有什么办法可以防止标签被打印出来吗?会不会是浏览器自动添加的?


对于所有回答有关 strip_tags (" 2 ") 的人;

这是错误的:

我想要一个简单的 version.php 和 回声'2';

没有别的。它也打印标签。我没有标签,然后尝试打印。


更多解释给那些试图获得简单代表的人

我的代码是:

$str = '2';
print strip_tags($str);

它会打印出来

<html><head></head><body>2</body></html>

【问题讨论】:

正文应该在html中 像谷歌浏览器这样的浏览器会自动添加基本的 HTML 标签,包括 html 和 body 标签 所有人的回答都一样。试图获得轻松的代表。 【参考方案1】:

这是不可能的。浏览器会自动创建这些元素,没有它就不会有任何文本流(意味着这些元素都不会可见)。 您可以将此变量用于任何脚本,它不会包含 HTML 标记。这只是由浏览器制作的,以使其对您可见。

【讨论】:

这是我希望得到的答案:D 很高兴我能帮上忙! :) 这是可能的。查看我的回答:告诉您的浏览器您发送的是文本而不是 html。 @OlivierH 我测试了它..它变得更糟......打印更多标签。 @OlivierH 这是不可能的 :) 正如我所说,没有这些标签,它无法使任何文本可见。【参考方案2】:

你可以使用

header("Content-Type: text/plain");

在脚本的开头,为了告诉浏览器你只会发送纯文本,而不是 html。这将阻止您的浏览器自动添加这些 html 标记。

然后,检查您的print(或echo)。这里body标签应该在html标签中。

【讨论】:

不可能。使用标题测试您的代码并查看结果。如果没有这些标签,您将无法在浏览器中显示任何文本。纯文本将生成 &lt;pre&gt; 文本,它仍然需要默认的 HTML 标记。何时使用请参阅here。

以上是关于PHP 从回显输出中删除 <body><html>...</html></body>的主要内容,如果未能解决你的问题,请参考以下文章

简单的 PHP 回显代码不起作用

如何在 PHP 中回显 HTML?

jQuery不适用于通过PHP回显的元素

PHP 不会在 + 和 - 符号之前回显文本

php中echo输出问题,求助啊。。。。

如何使用具有从一个阶段到下一个阶段的输出的环境变量?