• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:改行コードの変換)

改行コードの変換方法について

このQ&Aのポイント
  • Window8のIE10でTEXTAREAタグの属性wrapにhardを設定したHTMLにおいて、改行が倍になるという問題が発生しています。
  • この問題はIE10の特有の問題であり、改行コードを0x0a,0x0aから0x0d,0x0aに変換することで解決することができます。
  • ただし、改行が複数あった場合などはどのような挙動になるかは不明であり、IE10以外のブラウザでは問題は発生しないかもしれません。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>本当に改行が複数あった場合などは、どうなるのか? ユーザーが任意で複数入れた改行と、ブラウザの仕様で送られてくる複数の改行は 見分けがつけられないでしょうね エージェントをみて判断するとしても、微妙なモードによって違うのであれば なおさらです。 ポイントとしては ・そのモードを利用しない/させない ・IE10では不具合の可能性がある旨明示する などの対応しかないと思います もしくは仕様として、preg_replace("/\n+/","\n",$str)のような変換するなどして、 2回以上の改行を禁止にするという考え方もあります

coogon21
質問者

お礼

確かに判断が難しそうですね。 WRAP属性をやめられないかなどの観点からも、再度検討してみます。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

0x0dはCR("\r")、0x0aはLF("\n")です。 RTFM. http://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.double 0x0a,0x0aを0x0d,0x0aにしたければ、 $str = str_replace("\n\n", "\r\n", $str) でいいです。

coogon21
質問者

お礼

なるほど、単純に¥n¥rで良かったのですね。 ご教授ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A