![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
<textarea>に入力された値をPOSTで渡し、ポスグレに書き込み、それをHTML上で表示する処理をしているのですが。
textareaで改行を入力した場合に、
DB内に改行が登録されません。
例:
*textareaのwrapはsoftに設定してあります。
あいうえおかきくけこ
さしすせそ
と入力すると。
DBには
「あいうえおかきくけこ
さしすせそ」
と登録され
表示では「あいうえおかきくけこさしすせそ」と表示されます。
ソースでみると
「あいうえおかきくけこ
さしすせそ」と表示されています。
改行コードの置換がされていないのだと思い
INSERT前に
s/\r\n/<BR>/g;
s/\r/<BR>/g;
s/\n/<BR>/g;
を使い置換をすると
DBには何も登録されません。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
> デフォルト文字列というのはどのよう状態のことを言うのでしょうか?
>$str = ~s/\n\r/<br>/g;
あ、これこれ、これのことです。
正規表現自体は問題なさそうだったのですが、どの文字列(変数)をどこに入れているか、を知りたかったのです。
おそらく、POSTデータを$strに入れておいて、$strのうちの\r\nを<BR>に変換する、という処理をされたいのでしょうから、上記構文になると思いますが、実際はどうされていたのでしょうか?(ちょっと文章からは読み取れなくって・・・すみません)
あれ?改行(CRLF)って\r\nですよね?
\n\rだとヒットしないかも・・・?
解答ありがとうございます。
あ、ホントだ。そこは補足時のミスです。
先ほど自己解決はいたしまして。
完全なこちらのミスで置換部分は関数にしていたのですが
そこにreturnが抜けておりました。
該当個所をすべてコピペしておけばよかったですね。
ちょー初歩的なミスにお付き合い、いただきありがとうございました。
No.1
- 回答日時:
> DBには
> 「あいうえおかきくけこ
> さしすせそ」
> と登録され
>
> 表示では「あいうえおかきくけこさしすせそ」と表示されます。
DB上は「あいうえおかきくけこ\r\nさしすせそ」と登録されていて、それをHTMLで表示させると\r\nは(表示されないので)無視されているということではないでしょうか。
CRLFを<BR>に変換する正規表現のところは文法的には間違っていないようですが、ご質問の内容だけではデフォルト文字列がどう扱われているかわからないので・・・。そのあたりを見直してみてはいかがですか?
この回答への補足
お早い回答ありがとうございました。
デフォルト文字列というのはどのよう状態のことを言うのでしょうか?
POSTで値が渡って受け取るときは
CGI.pmのparamを使って取得しています。
それ以外はINSERTするときに「¥」とかをエスケープする処理だけをしています。
置換する時にbinmodeを使用して
$str = "あいうえおかきくけこ
さしすせそ";
binmode($str);
の方がいのでしょうか?
$str = ~s/\n\r/<br>/g;
みたいな感じになるんでしょうか?
んーわからなくなってきました。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSVファイルの中で、「 , 」カ...
-
エクセルで数値を全角文字(カ...
-
マクロを使ってフォルダー内に...
-
EXCELからCSVにすると余計なカ...
-
VBAでtxtファイルを読み込む際...
-
ひとつの命令を複数行に記述
-
C#でcsvファイルの列を入れ替え...
-
WORDで改ページすると時々グレ...
-
カンマ区切りの数字をCSVフ...
-
PHP カンマをエスケープしたい...
-
エクセルで電話番号を取り出す...
-
C#で、テキストボックスの入力...
-
パス区切りの文字について
-
メモ帳からエクセルにセル区切...
-
dat形式ををcsv形式に変更したい。
-
何故、日本は未だに数字を3桁...
-
VB2005のTextBoxでカン...
-
エクセルにペーストする際にカ...
-
Excel 住所の分割(文字数制限...
-
CSVファイル中の不規則な数のス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSVファイルの中で、「 , 」カ...
-
エクセルで数値を全角文字(カ...
-
EXCELからCSVにすると余計なカ...
-
マクロを使ってフォルダー内に...
-
CSVの定義
-
カンマ区切りの数字をCSVフ...
-
WORDで改ページすると時々グレ...
-
データにカンマが入ったCSVデー...
-
[VBA][Excel]クリップボードか...
-
カンマ区切り
-
VB2005のTextBoxでカン...
-
3桁ごと?4桁ごと?コンマの...
-
数字が全角、コンマなし
-
何故、日本は未だに数字を3桁...
-
PHP カンマをエスケープしたい...
-
C#で、テキストボックスの入力...
-
ひとつの命令を複数行に記述
-
VBAでtxtファイルを読み込む際...
-
JPY ¥1,500.00は日本円でお幾ら?
-
Excelについて質問です。 セル...
おすすめ情報