如何将字符串写入包含html标记的文件

时间:2013-11-07 20:38:54

标签: php html file-io

我已经通过php文件系统创建了新的.php文件,现在我正在尝试将html代码写入文件。这是代码

        $file = 'django unchained.php';
        if($handle = fopen($file , 'a'))
        {
            $text = htmlentities("<a href=\"index.php\">Just link</a>");
            echo $text; // here it shows up fine in webpage.
            file_put_contents($file , $text); // after writing to file it doesnot appear the same in .php file
            fclose($handle);    
        }

正如我在上面的评论中提到的那样,当我在网页中回显它时,它显示正常,但是当相同的字符串写入文件时看起来并不相同。

提前致谢。

2 个答案:

答案 0 :(得分:0)

如果您打开HTML页面的源代码,您会在django unchained.php中看到相同的文字:

&lt;a href=&quot;index.php&quot;&gt;Just link&lt;/a&gt;

此文本由htmlentities函数生成,该函数将特殊HTML字符转换为其实体等效字符。这种行为是绝对可预测和正确的。

如果要输出以提交未加引号的文本,请执行以下操作:

<?php
$file = 'django unchained.php';
$text = "<a href=\"index.php\">Just link</a>";

echo htmlentities($text); // here it shows up fine in webpage.
file_put_contents($file , $text) or die('Error opening file');

答案 1 :(得分:0)

看起来您遇到锁定问题,请尝试以下代码:

$file = 'django unchained.php';
$text = "<a href=\"index.php\">Just link</a>";
file_put_contents($file , $text) or die('Cannot open file for writing');

注意:你不需要fopen,fclose,htmlspecialchars