PHPでCDATAを使用して特殊文字をエスケープする

this has kept me days. trying to output an xml with these values. The bottomline is that it works fine but not with special chars, i wanna escape using CDATA. I tried $output .= ''getName().']]>''; but shows no data. that means the method $_category->getName() does not run. The code below breaks when there is no CDATA.

       $output .= '';
       $output .= ''.$_category->getName().'';
       $output .= ''.$_category->getUrl().'';
       $output .= '';
2
あなたの問題をもう少し定義してください。 this コードではどのような出力が得られますか?
追加された 著者 Jonathan M,
@クエンティン、はい、それは最初の例であろうが、コードブロックですか?
追加された 著者 Jonathan M,
@Jonathan M - 構文解析エラー:構文エラーです。予期しない '[' もちろん、文字列リテラルは、 'の後ろに追加テキストが追加され、その後に 'が追加されました。
追加された 著者 Quentin,
@ジョナサンM - それはCDATAの言及をしていないので、 "CDATAを使用して逃げる方法"です、それはおそらく "前"のコードです。
追加された 著者 Quentin,

1 答え

文字列のリテラルのブラウザに送信するリテラルテキストを配置する必要があります。

$output .= 'getName() . ']]>';

That said, don't try to build xml by smashing together strings, you're just asking for errors to be introduced by unexpected data. Use a real xml library.

2
追加された
あいまいな質問には申し訳ありません。私は実際にメソッドから得られる実際の値を出力したいと思います。しかし、@クエンチンメソッドshdの仕事。私は出力された画面上の何かを得ることはできません
追加された 著者 karto,
私は彼がCDATAリテラルを出力しようとしているとは思わない。しかし、再び、誰が教えることができますか? +1のXMLライブラリの提案。
追加された 著者 Jonathan M,
私はあなたが言っていることを得るが、彼のコードを見て、それは...そうだね。詳細が必要です。
追加された 著者 Jonathan M,
@Jonathan M - 生成されたXMLに終わってはならない場合、それを持つのは何でしょうか?
追加された 著者 Quentin,
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com