2011-12-24 5 views
3

ここでは、コードされていますPHP - XHTMLの改行<br />

if (isset($_POST['state']) && count($err) > 0) { 
    echo "<p>"; 
    array_walk($err, create_function('&$value', 'printf("$value<br />");')); 
    echo "<br /><a href=\"/#contacto\">Volver</a></p>"; 
} 

問題:予想通り

コードは動作しますが、それは<br>のような印刷改行を主張しています。あたかもXHTMLのガイドラインが気に入らないかのように、<br />のような印刷を拒否しました。 その他のスラッシュ/(終了タグ内)は正しく印刷されます。

私は既にnl2br()を試しましたが、2番目のパラメータは 'true'に設定されています。私は、バックスラッシュ\でエスケープしようとしました(そして、バックスラッシュは表示されますが、スラッシュは表示されません)。私は別のフォワードスラッシュ(奇妙なことにそれは行の残りの部分をコメントしなかった)でそれらをエスケープしようとしたが、echoprintf、およびtrimに文字列を渡すことはできません。

何が起こっているのか教えていただけますか?

+0

'/'を削除するブラウザは確実ですか? – RageZ

+3

ここで、改行は「
」ではなく「
」ですか?ブラウザのView Source、Firebug、または...? –

+1

Ok ...今私は気が気にならない...私はソースビューがIE、FF、Chrome上にあるべきであることに気づいた。 FirebugとChromeコンソールはスラッシュを食べるものです。有罪判決を言い渡した –

答えて

2

があなたのロジックを簡素化するために、あなただけ使用できます。

echo implode('<br />', $err); 

あなたは無駄にすべてのこれらの技術を試してみた場合は、問題があなたのコードでありますよろしいですか?他のブラウザやcurlなどのコマンドラインツールを使用してコードを表示してみるべきでしょうか?

curl http://www.example.com/ 
+0

私は 'echo implode'を考えていませんでした!ありがとうございました!ところで、上記のコメント、FirebugとChromeが原因でトラブルが発生する... –

関連する問題