繁体   English   中英

PHP htmlentities或htmlspecialchars

[英]PHP htmlentities or htmlspecialchars

我正在使用fwrite创建xml文件,但是我丢失了特殊字符。

例:

$message0  = htmlspecialchars('<?xml version="1.0" encoding="UTF-8"?>');
$file = fopen("test.xml","w");
echo fwrite($file,"$message0");
fclose($file);

上面的代码给了我以下输出

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;JobTemplates&gt;

我需要特殊字符才能使xml文件正常工作。 如果我回显变量,则特殊字符将显示在页面上。

不明白为什么要为此编码html字符。 这是一个受信任的字符串,因此,只需将其放在单引号中并编写即可。 如果有任何字符给您带来麻烦,请逃脱它们而不是对其进行编码。

如果有原因,您必须采用这种方式,然后进行内联解码。 但这对我来说似乎有些混乱。

这是一个经过测试的示例,您不应使用htmlspecialchars

$message0  = '<?xml version="1.0" encoding="UTF-8"?><contact><name>foo</name><phone>123456</phone></contact>';
$file = fopen("test.xml","w");
fwrite($file,$message0);
fclose($file);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM