2012-02-15 1 views
0

誰かが次の問題で私を助けてくれることを願っていました。私はこの日の1日後にレンガの壁にいます。XML内のHTMLの有効期間を守らずに

私は、オンラインショップデータベースから製品の説明を取得し、XMLフィードを作成しようとしています。

echo '<DESCRIPTION>' . $row['products_description'] . '</DESCRIPTION>'; 

私は次のことを試してみました: - - :

echo '<DESCRIPTION><![CDATA[' . $row['products_description'] . ']]></DESCRIPTION>'; 
問題は、ブラウザ

でそれを見たとき、これは、コードの行であるXMLブレークので、説明はHTMLが含まれています

私は出力を表示すると、それは最初

<BR> 

でXMLを破ります私はPHPのhtmlentitiesを認識していますが、私は説明をインポートするために、別のショップからXMLをピックアップし、正しく表示されませんでした

私は誰かが助けることを願っています。見ていただきありがとうございます

+0

作成したHTMLを提供できますか? –

+0

どのDTD/ShemaがあなたのXMLを使用していますか? – hakre

+0

<?xml version = "1.0"?> –

答えて

0

最初にHTMLを整理してください。

$config = array(
    'indent'   => true, 
    'output-xhtml' => true, 
    'wrap'   => 200); 

$tidy = new Tidy(); 
$tidy->parseString($row['products_description'], $config, 'utf8'); 
$tidy->cleanRepair(); 

echo '<DESCRIPTION>' . $tidy. '</DESCRIPTION>'; 

これが機能するには、libtidy extensionがインストールされている必要があります。

+0

ありがとうが、これはうまくいかなかった。 –

+0

何がうまくいかなかったのですか?エンティティもエスケープする必要があるかもしれません。あなたはHTMLを共有できますか? –

+0

あなたのコードではエラーが発生します PHP致命的なエラー:クラス 'tidy'がxmlbuilder.phpの393行に見つかりません –

関連する問題