
No.3ベストアンサー
- 回答日時:
サンプルは、
$message =~ s/\r\n/<br \/>/g;
と
$message =~ s/\n/<br \/>/g;
1行で済ませようとして間違ってしまったのでしょうか?
\r 復帰文字(return)
と
\n 改行(newline)
と
「,」カンマそのもの
と
\r 復帰文字 (return)
のいずれかを<br />に置き換える、という意味になってしまうでしょうね。
この目的のためには、
$message =~ s/\r\n/<br \/>/g;
$message =~ s/\r/<br \/>/g;
$message =~ s/\n/<br \/>/g;
と3行記述するのがいいのではないでしょうか?
参考サイトに私が勉強させてもらっているサイトを紹介しておきます。
参考URL:http://www.rfs.jp/sitebuilder/perl/04/07.html
ご指導くださいまして、どうもありがとうございます。
Kirishima様や他の方たちのご説明から判断して、
$message =~ s/\r\n/<br \/>/g;
$message =~ s/\r/<br \/>/g;
$message =~ s/\n/<br \/>/g;
の3行で記述したほうが無難な気がしますね。
ご質問したソースは「CGI/Perl Handbook」の掲示板ソースにありますが、
間違い又は不十分なのですね。
Kentさんの本には、ご説明のソースが載っていました。
ほぼ同じ掲示板でも記述の仕方がいろいろあり、本当に困ってしまいますね。
また機会がありましたら、ご指導いただきたいと思います。
どうもありがとうございました。
No.2
- 回答日時:
この文の意味が
一般的な改行コード「\r\n」「\n」を
XHTMLの改行要素「<br />」に変換する
という事でしたらこの文は間違いです。
上の意味の文は
$message =~ s/\r?\n/<br \/>/g;
となります。
ただし改行コードはMACの「\r」もあるので
これでは不充分です。
「\r」も置きかえるようにようにしてください。
[ ]内の「,」はただのコンマです。
なんの意味もありません。
ご指導いただきまして、どうもありがとうございます。
CGI初心者で、いろんな書籍を購入して勉強していますが、
「改行コード処理」一つをみても、
ソースの記述がいろいろあって、混乱していまいます。
Macの\rにも対応となると、ご質問したソースでは不十分なのですね。
結局一行では全て済ませることができないということになりますね。
大変よくわかりました。どうもありがとうございます。
No.1
- 回答日時:
実験:
% cat a.pl
@msgs = (
"ab\ncd\n",
"ab\r\nc",
"ab\n\r",
"ab,c d\n" );
for $message ( @msgs ){
$message =~s/[ \r\n , \n ]/<br \/>/g;
print $message, "\n";
}
% perl a.pl
ab<br />cd<br />
ab<br /><br />c
ab<br /><br />
ab<br />c<br />d<br />
――ということで、「空白」「カンマ」「復帰」「改行」を、<br />に全置換する、で、あっているかと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Line Inputにて改行があっても...
-
Rstudioによるテキストマイニン...
-
UTF-8で5~6バイトになる文字コ...
-
10Mバイトて文字数に すると何...
-
バイナリとBCDコード
-
utf-8でメールを送信すると件名...
-
COBOLのCOMP形式について
-
「1TB」のHDDに日本語は何字入...
-
PNGを24bppBMPに変換したいので...
-
int型(2バイト)データの分割
-
全角半角を調べるライブラリ関...
-
半角、全角の判別方法
-
PHPのCookieが有るか無いかで、...
-
Excel 1セル当りの文字数が2...
-
COleDateTime とtime_t
-
C言語の勉強しています。すみま...
-
CSVファイルの行と列のセルって...
-
'dataType' 引数を Null にする...
-
任意のアルファベットの2進表...
-
VB.NET LeftBの代用
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA メール作成について ...
-
Rstudioによるテキストマイニン...
-
Line Inputにて改行があっても...
-
CGIを勉強しています。¥n(改...
-
chompの使い方
-
number 改行が追加できない
-
エクセルで「改行コード」を「...
-
ホームページビルダーで行間を...
-
改行コードがそのまま表示され...
-
連想するもの教えてください
-
Excelで、HTMLタグだけを削除す...
-
CGIフォーム無改行で途中から文...
-
表(<table>)の直前が、改行さ...
-
MACの改行コード変更について教...
-
PHP <br /> <br> 結局どっち?
-
イベントハンドラの用法を教え...
-
UTF-8で5~6バイトになる文字コ...
-
COBOLのCOMP形式について
-
10Mバイトて文字数に すると何...
-
char str[256]の256の意味は?
おすすめ情報