dポイントプレゼントキャンペーン実施中!

PHPを用いて、XMLからXSLTを経由しHTMLを出力するというプログラムを作成しています。
ほとんど完成しているのですが、最後に改行で問題が発生してしまい
かなり困っています。

XML内に保存されている改行入りの文字列を
HTMLできちんと改行されたまま表示したいのですが
繋がったまま出力されてしまいます。
-------------------------------------------------------
※<br />は、PHPで入力文章の確認をする際に
 改行させたまま表示させたいので記述して
 それを残したままXMLに保存しています。
<sample>
<title>見出し1</title>
<paragraph>
 あいうえお&lt;br /&gt;
 あいうえお&lt;br /&gt;
  あいうえお&lt;br /&gt;
</paragraph>
<sample>

↓PHPでXSLTを通してHTMLに出力

見出し1
あいうえお<br />あいうえお<br />あいうえお
-------------------------------------------------------

これを、改行された状態で表示できるようにしたいのですが
なかなか上手くいきません。
何か、解決策が思い浮かぶ方がいらっしゃいましたら
是非、教えていただきたいです。
利用環境はPHP5です。よろしくお願いします。

A 回答 (2件)

    • good
    • 0
この回答へのお礼

回答ありがとうございました!

disable-output-escaping="yes"

をvalue-ofに付けたところ
きちんと表示ができるようになりました!!
本当に、ありがとうございました。

お礼日時:2006/12/27 01:37

そのPHPで駆動させる前に



PHPで変換した後にできる筈のxmlをわざわざ作成し、xsltを通して目的の通りになるのか検証してみる。

ちゃんと描画されてる?
まずそこから
タグ変換系はそういうミスが多く、ちゃんと素のxml→xsltでできてからやらないとハマる

既にそれは検証済というなら ごめん
    • good
    • 0
この回答へのお礼

回答ありがとうございます!

PHP→XMLの変換でタグが&lt;と&gt;になっているから
XML→XSLTの変換が思うように動いていないのでは?
PHPで操作する時になんらかの方法をとれば、解決がつくかな?
と、考えていました。

SAYKAさんのおっしゃる検証も試みてはいて
うすうすXSLTでは出来ないのかなー?と思ってはいたのですが
XSLTでの解決方法が見つからなかったため
PHPで一生懸命やり方を変えて操作を試みていました。
PHPでXMLの作成も行っているので、PHPが原因だと思っていたのです。
おっしゃるとおり、ハマってたのだと思います。。。
貴重な回答ありがとうございました。

お礼日時:2006/12/27 01:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!