掲示板のような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で質問しましょう!
似たような質問が見つかりました
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- Ruby vscode 文字化け 1 2022/05/21 19:17
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- HTML・CSS HTMLソースの質問 3 2022/07/28 13:29
- その他(プログラミング・Web制作) ColabでのPytorchのエラー 1 2022/11/19 20:51
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Rstudioによるテキストマイニン...
-
MACの改行コード変更について教...
-
改行コードがそのまま表示され...
-
if文中で@***(配列変数)って...
-
ポインター引数の関数でコンパ...
-
10Mバイトて文字数に すると何...
-
ビットスワップとバイトスワッ...
-
stable diffusionのエラー
-
UTF-8で5~6バイトになる文字コ...
-
int型(2バイト)データの分割
-
Excel 1セル当りの文字数が2...
-
【Excel VBA】10進数を2進数に...
-
C#でのswitch文
-
utf-8でメールを送信すると件名...
-
char str[256]の256の意味は?
-
サブドメインでのクッキー認証
-
応募フォームなどの住所欄で最...
-
ピクセル,dpiから容量(バイト...
-
クッキーのデータ取得
-
バイナリデータからの値の取得...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA メール作成について ...
-
CGIを勉強しています。¥n(改...
-
改行コードがそのまま表示され...
-
Line Inputにて改行があっても...
-
Rstudioによるテキストマイニン...
-
Excelで、HTMLタグだけを削除す...
-
エクセルで「改行コード」を「...
-
MACの改行コード変更について教...
-
【HELP!!】Excelから保存したtx...
-
perlで、[ \\r\\n , \\n ]の意...
-
ホームページビルダーで行間を...
-
連想するもの教えてください
-
alertの警告文を2行にしたい
-
全文表示…の仕方。
-
テキストボックスに入力された...
-
メモ帳での改行
-
PHP <br /> <br> 結局どっち?
-
brタグについて質問です。
-
KENT-WEBのClipMailでのチェッ...
-
if文中で@***(配列変数)って...
おすすめ情報