首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP生成的XML显示无效的Char值27消息。

PHP生成的XML显示无效的Char值27消息。
EN

Stack Overflow用户
提问于 2012-09-01 16:44:43
回答 2查看 38.1K关注 0票数 35

我正在使用PHP库生成XML,如下所示:

代码语言:javascript
复制
$dom = new DOMDocument("1.0","utf-8");

这样做会在一个页面中显示输出顶部的消息。

此页面包含以下错误:第274505列第16行上的错误: PCDATA无效的Char值27是页面的呈现,直至第一个错误。

我试过用Tidy图书馆更正。在UTF-8中使用iconv获得汉字。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-04 14:44:20

一个有用的功能,以消除该错误是建议在这个网站。utf-8

当您将utf-8编码字符串放在XML文档中时,您应该记住,并非所有utf-8有效字符都在XML文档http://www.w3.org/TR/REC-xml/#charsets中被接受。

因此,您应该去掉不需要的字符,否则会出现XML致命的解析错误,如上面所示

代码语言:javascript
复制
function utf8_for_xml($string)
{
    return preg_replace ('/[^\x{0009}\x{000a}\x{000d}\x{0020}-\x{D7FF}\x{E000}-\x{FFFD}]+/u', ' ', $string);
}

希望这能给别人省点时间。

票数 108
EN

Stack Overflow用户

发布于 2017-01-16 02:12:28

普拉尚特是绝对正确的。还可以通过以下操作删除Javascript中的无效字符:

代码语言:javascript
复制
function utf8_for_xml(inputStr) {
  return inputStr.replace(/[^\x09\x0A\x0D\x20-\xFF\x85\xA0-\uD7FF\uE000-\uFDCF\uFDE0-\uFFFD]/gm, '');
}
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12229572

复制
相关文章

相似问题

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