けいくん @keikun 投稿日 : 2019年08月21日 13時52分

POST送信後と送信前の文字数の違い

php 改行コード HTML

概要

ThreeLでwikiのように整形を行っている部分で
うまいこと変換されないことが問題点にあたる。

結論

改行コードの違い
htmlのtextareaの改行コードがCR/LF

htmlのtextareaの改行コードがCRLFであるが
javascriptの場合は、LF。

この違いがあるため \n\n 部分が認識されなかった。

経緯

ajaxのプレビューと本ページが差分が存在
文字列の長さの検証、違うことが確認できる。

調べてみるとtextareaの改行コードがCRLF
jsではLF
違いの確認が出来た。

解決策

PHP
$text = str_replace("\r\n", "\n", $post_textarea);

どちらかにそろえてあげるだけで大丈夫です。
もしくはパーサー側で対応するのもありかと思う。

ほかの問題点として文字数が違うため文字数制限をかける際に少なくなったりなどがあるなるので、知っておくといいですね」。


みんなにシェアする
ツイート