
掲示板のようなCGIを利用し、入力フォームから送信された情報が保存されるプログラムを利用しています。
そのcgiファイルに記述されたコードに以下の記述があります。
sub decode {
&ReadParse;
while (($key,$val) = each %in) {
if ($key !~ /upfile/ ) {
&Jcode'convert(*val, "utf8", "", "z");
if ( $key !~ /label_name/ ) {
$val =~ s/</</g;
$val =~ s/>/>/g;
}
$val =~ s/\r\n/<br>/g; $val =~ s/\r|\n/<br>/g;
}
$in{"$key"} = "$val";
}
$_v = $in{"_v"}; $del_img = $in{"del_img"};
}
この記述によりテキストエリアで改行された際に「<br>」に変換されると思うのですが、これを<br>から<br />に変えるため、
$val =~ s/\r\n/<br>/g; $val =~ s/\r|\n/<br>/g;を
$val =~ s/\r\n/<br \/>/g; $val =~ s/\r|\n/<br \/>/g;と変えました。
これにより、保存される改行コードが<br>から<br />に変わったのですが、その情報を編集するため再度保存された情報の入力フォームを呼び出すと、
テキストエリアでは改行されず、改行場所に<br />と入力されてしまいます。
もとのコードではテキストエリア内の改行は<br>が表示されず、ちゃんと改行されていました。
そこで以下のように書き直してみたのですが、やはり状況は変わりません。
sub decode {
&ReadParse;
while (($key,$val) = each %in) {
if ($key !~ /upfile/ ) {
&Jcode'convert(*val, "utf8", "", "z");
if ( $key !~ /label_name/ ) {
$val =~ s/</</g;
$val =~ s/>/>/g;
$val =~ s/ / /g;
}
$val =~ s/\r\n/<br \/>/g; $val =~ s/\r|\n/<br \/>/g;
}
$in{"$key"} = "$val";
}
$_v = $in{"_v"}; $del_img = $in{"del_img"};
}
改行コード<br>を<br />に変更し、保存された情報を呼び出してもテキストエリアで改行コード<br />は表示されることなく改行される記述方法を教えてください。
分かりにくい文章で申し訳ありませんがよろしくお願いします。
No.1ベストアンサー
- 回答日時:
もともと、 <br>→改行 は動作していたのでしょうか?
提示された中に、上記変換している部分が無いようですが
回答していただきありがとうございます。
おっしゃる通り大きな勘違いをしておりました。
他の編集箇所と頭がごっちゃになってしまい見当違いのことをしておりました。
ご指摘いただきありがとうございました。
No.2
- 回答日時:
sub decode() は、入力された文字列を保存するときに通るルーチンで、
保存された文字列を テキストエリアに埋め込むときには通らないのでは?
それに、sub decode()に、$val =~ s/ / /g; を入れても、なんの意味もないと思いますが・・・
編集時に<br>を\nに変換しているルーチンがどこかにあるはずなので、
そちらを修正する必要があります。
回答していただきありがとうございます。
全くおっしゃる通りです。大きな勘違いをしておりました。
他の編集箇所と頭がごっちゃになってしまい見当違いのことをしておりました。
ご指摘いただきありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォームを再送信しますか?
-
ChatGPT
-
チェックボックスでのvalue値の...
-
ChatGPTの性能は昔に比べて上が...
-
apacheでPerl CGIが作動せず、5...
-
エクセルで集計したい。
-
chatGPTみたいに画像生成出来る...
-
iDeCo
-
皆さんはGUCCIはハイブランドだ...
-
cgi-binのエラー?
-
Trees掲示板CGI(CGI-Resque氏...
-
めちゃきれい
-
number 改行が追加できない
-
生成AI画像について
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
マンスリーランキングこのカテゴリの人気マンスリー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の意味は?
おすすめ情報