2009-04-28 5 views
0

PHPのDOMDocument-> LoadHTMLFile( 'test.html');を使用しています。私にエラーを返し続け、36行目の内容のエラーを報告します。文字の後に文字を削除すると、それは原因は明らかに空白です。 他のエディタ(Editra)でその文をコピー/ペーストすると、奇妙なRS文字が表示されました。PHP DOMDocument:不思議な文字で窒息するloadHTMLFile:RS

それは何ですか、さらに重要なことに、どうやってそれが再び起こるのを避けることができますか?

+0

エラー文字列は何ですか? –

答えて

5

それはRecord separator

だが、データ構造のフィールドをマークする区切り文字として使用することができます。階層レベルで使用すると、米国は最も低いレベル(平文のデータ項目を分割する)ですが、RS、GS、およびFSは、その下のレベルの項目で構成されるグループを分割するために増加するレベルです。

SEQ:^^ - 12月:30 - 六角:1E - 頭文字:RS

何ができるかが非表示の文字を剥ぎ取るためにstrtr()を使用しています。 An example by Joel Degan on PHP.netあなたのところにあなたを取得する必要があります。

0

このケースでは、PHPは致命的ではないエラーを投げかけています。それは、ファイルがあなたによって作成されていない場合は何もすることができない多くのことについて不平を言うでしょう。 あなたができることは、悪いプログラミング方法を使用して、コマンドの前に@をつけることでエラーを抑止することです。

@DOMDocument->LoadHTMLFile('test.html'); 

ファイルを読み込む必要がありますが、エラーは無視されます。無視するのは簡単?

+0

それはまさに問題です:ファイルは私によって行われていません。問題はロードされたnodeValueがRSキャラクタの位置で切り取られているということです。私は大きなエラー・サインをユーザに表示する方が良いでしょうcase ... – pixeline

+0

エラーを抑制する理由はファイルを制御しないということです。 DOMDocumentに任意のWebサイトをロードすると、エラーが発生します。しかし、@でエラーを抑制すると、ドキュメントを読み込むことができるはずです。とても簡単なので、試してみる価値があります。 –

+0

警告を表示しませんが、問題はhtmlがそのエラー文字を超えて解析されないことです。 – pixeline