我正在使用PHP库生成XML,如下所示:
$dom = new DOMDocument("1.0","utf-8");这样做会在一个页面中显示输出顶部的消息。
此页面包含以下错误:第274505列第16行上的错误: PCDATA无效的Char值27是页面的呈现,直至第一个错误。
我试过用Tidy图书馆更正。在UTF-8中使用iconv获得汉字。
发布于 2012-09-04 14:44:20
一个有用的功能,以消除该错误是建议在这个网站。utf-8
当您将utf-8编码字符串放在XML文档中时,您应该记住,并非所有utf-8有效字符都在XML文档http://www.w3.org/TR/REC-xml/#charsets中被接受。
因此,您应该去掉不需要的字符,否则会出现XML致命的解析错误,如上面所示
function utf8_for_xml($string)
{
return preg_replace ('/[^\x{0009}\x{000a}\x{000d}\x{0020}-\x{D7FF}\x{E000}-\x{FFFD}]+/u', ' ', $string);
}希望这能给别人省点时间。
发布于 2017-01-16 02:12:28
普拉尚特是绝对正确的。还可以通过以下操作删除Javascript中的无效字符:
function utf8_for_xml(inputStr) {
return inputStr.replace(/[^\x09\x0A\x0D\x20-\xFF\x85\xA0-\uD7FF\uE000-\uFDCF\uFDE0-\uFFFD]/gm, '');
}https://stackoverflow.com/questions/12229572
复制相似问题