我想在使用PHP Tidy将它加载到DomDocument之前确保我的xml有效。PHP Tidy删除空格并插入换行符
不过,我不想整洁改变的东西到我的格式 - 我只希望它像修复不平衡标签问题等
问题的例子可以在这个页面中可以看出:http://www.tek-tips.com/viewthread.cfm?qid=1654452
我自己的例子如下。
输入:<ex><context>собр<stress>а</stress>ние</context> акцион<stress>е</stress>ров — <stress>aa</stress>ndeelhoudersvergadering</ex>
(这已经是有效的XML)
预期输出:<ex><context>собр<stress>а</stress>ние</context> акцион<stress>е</stress>ров — <stress>aa</stress>ndeelhoudersvergadering</ex>
(有</context>
和актион
之间打破空白)
实际输出:
<ex>
<context>собр
<stress>а</stress>ние</context>акцион
<stress>е</stress>ров —
<stress>aa</stress>ndeelhoudersvergadering</ex>
(它除去</context>
和актион
之间的空格将使文本无法读取,并且它会插入新的每个标签后线)
我的代码是:
function TidyXml($inputXml)
{
$config = array(
'indent' => false,
'output-xml' => true,
'input-xml' => true,
);
$tidy = new tidy();
$tidy->parseString($inputXml, $config, 'utf8');
$tidy->cleanRepair();
$cleanXml = tidy_get_output($tidy);
return $cleanXml;
}
我试图改变几个选项,但没有成功。
的http://整洁。 sourceforge.net/docs/quickref.html#output-xml – hakre 2013-03-01 08:53:22
PHP简单的HTML DOM解析器比大多数解析器更宽松。 http://simplehtmldom.sourceforge.net/ – Petah 2013-03-01 08:54:45
@hakre我删除了除'input-xml'=> true'之外的所有设置(因为否则它会输出完整的HTML文档)。但是,它没有帮助。另外我试着设置''output-xml'=> false',但这没有帮助。可以做任何事情来防止剥离/修剪和格式化? – 2013-03-01 19:57:51