0

我有一个关于用 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()但随后保存的字符串或代码停滞在 char &

示例:更新!
我打开空白file.htmlopenHTML()开始在下面输入一些字符串:

<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. 还是没有解决。

4

3 回答 3

1

单独的 & 符号在 PCDATA 部分中无效。改为使用&amp;

于 2012-04-27T15:48:28.363 回答
1

尝试

    $output = htmlentities($output);

在你要保存的字符串上。

在这里查看

它将所有 HTML 实体更改为其适用的字符。在这种情况下,您的 & 将更改为

    &amp;
于 2012-04-27T15:56:12.960 回答
0

尝试使用fwrite()instaed offputs()

于 2012-04-27T15:52:40.523 回答