首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么用PHP写html文件在'&‘处停滞?

为什么用PHP写html文件在'&‘处停滞?
EN

Stack Overflow用户
提问于 2012-04-27 23:46:13
回答 3查看 123关注 0票数 0

我有一个关于用PHP写HTML文件的问题。

我有这个函数:

代码语言:javascript
复制
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 &时停滞了。

示例:更新!

我用openHTML()打开空白的file.html,然后开始输入下面的字符串:

代码语言:javascript
复制
<html>
<head>
</head>
<body>
This is my login page & user page
</body>
</html>

在我用代码saveHTML()保存之后

代码语言:javascript
复制
<html>
<head>
</head>
<body>
This is my login page

最后找不到代码。在&停滞不前。

我用过fputsutf8_encodefwritefile_put_contents。仍然没有解决。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-27 23:56:13

试一试

代码语言:javascript
复制
    $output = htmlentities($output);

在你要保存的字符串上。

check it out here

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

代码语言:javascript
复制
    &amp;
票数 1
EN

Stack Overflow用户

发布于 2012-04-27 23:48:28

在PCDATA节中,单独的和号无效。请改用&amp;

票数 1
EN

Stack Overflow用户

发布于 2012-04-27 23:52:41

尝试使用已安装fputs()fwrite()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10353729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档