我試圖生成一個XML文件,它大約是23到30 MB,當我打開它與Firefox我收到如何從文檔中刪除無效的XML本地字符用PHP
XML Parsing Error: not well-formed
Location: file:///Users/User/Downloads/export(2).xml
Line Number 137725, Column 1343:
之後,我嘗試驗證與XML Nanny
記錄和我收到以下錯誤:
Invalid Character (Unicode: 0xB)
在若干(13)線:137725,137738,137751,137764,137777,137790,137803,137816,146834,189949,193444,193457,193470
我試過幾個「解決方案」,其中包括:
正則表達式:
preg_replace( '/[^\x9\xA\xD\x20-\x{D7FF}\x{E000}-\x{FFFD}\x{10000}-\x{10FFFF}]+/' , ' ', $data->Description);
這裏的問題是,我'不是很確定,這是有效的正則表達式,因爲我收到內部服務器錯誤,因爲在我們的Apache中啓用了mod安全性。
我想救我的文件爲UTF-8 BOM,但是那是絕望的嘗試
我試圖用「UTF-8 //忽略」,但這個沒使用的iconv 't幫助
我試圖使用字符替換字符,但這並不適用於我的文件,因爲我有230k行..即使我替換特定的標記,其中我有這個問題我在php中觸發max_execution_time指令,我的腳本被終止。
現在我的解決辦法是清除的手動這種無效字符數據庫中的記錄,但現在這是適當和正確的解決我的問題,因爲在未來的這個腳本將被用於自動化這個出口和手動編輯ISN選項或話題。
感謝您的糾正! – h4cky 2012-04-10 20:20:50