我想在使用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