1

我正在尝试从 php 脚本中回显 html 文件内容。很简单的实现

$response=file_get_contents("second.html");

echo $response;

当我直接点击 html 文件时,所有内容似乎都可以,但是当我得到回显字符串时,它就不同了,html 包含带有 utf8 字符串和转义字符的 javascript。似乎“echo”正在更改字符串,因为我尝试将 $response 字符串保存在第二个 html 文件中,并且看起来也可以。我的问题是,有没有办法直接给出字符串而不进行处理。

此外,似乎回显的 html 可以在 Firefox 上运行,但不能在 chrome 上运行,文件 html 可以在两者上运行。

4

3 回答 3

1

如果你这样做,你会得到什么:

var_export(get_magic_quotes_gpc());

开了吗?(真的)

如果是这样的话:

http://www.php.net/manual/en/security.magicquotes.disabling.php

或者

$response = stripslashes(file_get_contents("second.html"));
于 2012-06-20T00:35:33.753 回答
0

可能是您没有告诉浏览器您使用的是什么编码?

header('Content-Type: text/html; charset=utf-8');
于 2012-06-20T00:42:54.677 回答
0

如果我理解正确,您想将 HTML 视为纯文本,您可以运行 PHP 脚本以使用“str_replace()”查找“<”和“>”字符并将其替换为 HTML 实体。HTML 实体

然后,当您回显时,PHP 将它们作为纯文本而不是 HTML 的“<”和“>”处理。

了解有关使用 str_replace() 在 PHP 中查找和替换的更多信息:

str_replace PHP 教程
示例:

<?php
$response = file_get_contents("second.html");
str_replace("<", "&lt;",$response);
str_replace(">", "&gt;",$response;
echo $response;
?>
于 2014-02-08T15:40:13.497 回答