我正在尝试从php脚本回显html文件内容。相当简单的实现
$response=file_get_contents("second.html");
echo $response;
当我直接点击html文件时,所有内容似乎都可以,但是当我得到回显的字符串时它是不同的,html包含带有utf8字符串和转义字符的javascript。似乎“echo”正在改变字符串,因为我尝试在第二个html文件中保存$ response字符串,这看起来也没问题。我的问题是,是否有一种方法可以明确地给出字符串而不进行处理。
此外,似乎回显的html适用于firefox,但不适用于chrome,文件html适用于两者。
答案 0 :(得分:1)
如果你这样做,你会得到什么:
var_export(get_magic_quotes_gpc());
它打开了吗? (真)
如果是这样的话:
http://www.php.net/manual/en/security.magicquotes.disabling.php
或
$response = stripslashes(file_get_contents("second.html"));
答案 1 :(得分:0)
可能是因为您没有告诉浏览器您正在使用哪种编码?
header('Content-Type: text/html; charset=utf-8');
答案 2 :(得分:0)
如果我理解正确,您希望将HTML视为纯文本,则可以运行PHP脚本来查找并替换“<”和“>”使用'str_replace()'的HTML实体的字符。 HTML Entities
然后当你回显时,PHP将它们处理为“<”和“>”用纯文本而不是HTML格式。
使用str_replace()了解有关在PHP中查找和替换的更多信息:
<?php
$response = file_get_contents("second.html");
str_replace("<", "<",$response);
str_replace(">", ">",$response;
echo $response;
?>