2010-12-08 19 views
0

PHPでXSLTを使用しているときに奇妙な問題に直面しています。 XSLファイルのすべてのbrタグは、<br> </br >(brタグの開閉)に変換されています。PHP XSLTをBRタグに変換する<br></br>

この変換は、Google ChromeブラウザでUIの問題を作成しています。 Chromeは</br >を別の<br>タグに変換しているため、UIが手に入りました。

できるだけ早く私を助けてください.....

+0

@Matthew Wilsonが指摘している直列化メソッドの他に、リテラルな自己閉じた空の 'br'が開始タグと終了タグを持つ空の要素として出力されるとは思いません。入力ソースからコピーする場合は、XMLシリアル化を使用しても自己クローズの空の要素を保持するメソッドがあります。 –

+0

私は、
を含む単純なXSLファイルを持っています.HTMLには

という非常に奇妙な場所に含まれています。 ページがFFで表示されているときは正しく表示されますが、クロムではクロムが閉じタイル
を別のBRタグに変換しているため、クロムには2つの改行が表示されます。 これまでに見たことのない奇妙な動作です:( – Sahil

答えて

0

私の質問に対する答えはPHPマニュアルサイトです。 URL:http://php.net/manual/en/xsltprocessor.transformtoxml.php

これは、同じコメントで以下、ユーザコメントにあった:

$ domTranObj = $ xslProcessor-> transformToDoc($ domXmlObj)。

$ domHtmlText = $ domTranObj-> saveHTML();

は有効なXHTMLのため<メタ>を修正していますが、正しく次のように出力リレー< BR/>のような空のノード終わらない:2つの異なる< BRとして<BR> </BR >

いくつかのブラウザのノートこれを/ > ...

この使用を修正するには

$ domTranObj = $ xslProcessor-> transformToDoc($ domXmlObj)。

$ domHtmlText = $ domTranObj-> saveXML();

2

あなたは

<xsl:output method="html"/> 

を指定したことがありますか?

+0

はい出力はHTMLとして定義されています – Sahil

関連する問題