htmlspecialchars-php的问题
我使用的是PHP5.3.3 我正在创建一个XML文件,但是htmlspecialchars函数有问题 这是正确的htmlspecialchars-php的问题,php,xml,encoding,htmlspecialchars,Php,Xml,Encoding,Htmlspecialchars,我使用的是PHP5.3.3 我正在创建一个XML文件,但是htmlspecialchars函数有问题 这是正确的 htmlspecialchars('Day & Night;',ENT_COMPAT,'UTF-8',false); 产量-日及;夜 然而,这是行不通的 htmlspecialchars('Day &Night;',ENT_COMPAT,'UTF-8',false); 产量-白天和晚上 生成的xml正确地抱怨了无效的实体&Night 我不知道为什么它没有被编码 谢
htmlspecialchars('Day & Night;',ENT_COMPAT,'UTF-8',false);
产量-日及;夜
然而,这是行不通的
htmlspecialchars('Day &Night;',ENT_COMPAT,'UTF-8',false);
产量-白天和晚上
生成的xml正确地抱怨了无效的实体&Night
我不知道为什么它没有被编码
谢谢您的帮助。尝试使用ENT\u XML1而不是ENT\u COMPAT。您是否尝试过将布尔值更改为true?也许PHP正在思考&夜晚;已转换,正在跳过它。从php.net关闭double_encode时,php不会对现有html实体进行编码,默认情况下是转换所有内容。看起来htmlspecialchars认为那天晚上有可能;是一个有效的实体。只是一个初步问题:您的xml文档实际上是一个HTML文档,或者为什么要使用HTML*函数-@CodeCaster-它在5.3.3版上不可用。@tom hart它可以工作,但它将对已编码的字符进行双重编码。XML会再次抱怨: