我有一个关于使用PHP编写HTML文件的问题。
我有这个功能:
function openHTML ($file) {
if (file_exists($file)) {
$handle = fopen($file, "r");
$output = fread($handle, filesize($file));
fclose($handle);
return $output; // output file text
}else{
return "This file is not exists";
}
}
function saveHTML ($file,$string) {
$a = fopen($file, 'w');
fputs($a,stripslashes($string));
fclose($a);
return "success";
}
当我使用openHTML
时,它很好。但遗憾的是,在我使用openHTML()
打开的文件中有一些&
,然后我使用saveHTML()
保存,但后来保存在&
停顿的字符串或代码
示例:更新!
我用file.html
打开空白openHTML()
,然后我开始输入一些字符串:
<html>
<head>
</head>
<body>
This is my login page & user page
</body>
</html>
使用代码saveHTML()
保存后:
<html>
<head>
</head>
<body>
This is my login page
最后丢失的代码。停滞在&
。
我使用fputs
,utf8_encode
,fwrite
,file_put_contents
。仍未解决。
答案 0 :(得分:1)
单个&符号在PCDATA部分无效。请改用&
。
答案 1 :(得分:1)
试
$output = htmlentities($output);
在你要保存的字符串上。
它会将所有HTML实体更改为适用的字符。 在这种情况下你的&amp;将改为
&
答案 2 :(得分:0)
尝试使用fwrite()
代替fputs()