CGIのカスタマイズに関する質問です。
ソードワールドRPGキャラクターシート管理CGIを使用しています。
初期の設定で<input type>と<textarea>の改行をする際は<br>を使うと言う形になっています。
その中で<textarea>の改行をエンターキーでしたいと思い、
sub htmlunquote{
my $text = shift;
$$text =~ s/</</g;$$text =~ s/>/>/g;
の部分を
sub htmlunquote{
my $text = shift;
$$text1 =~ s/\r\n/<br>/g;
$$text1 =~ s/\r/<br>/g;
$$text1 =~ s/\n/<br>/g;
と変換してみました。
すると、エンターキーで改行できるようになったのですが、修正や追記しようとすると、何故か前に書き込んだ文章が消えてしまっています。
なぜ、文章が消えてしまうのか、全く検討がつきません。FFFTPから、データを覗くと、書き込まれたデータはあるのですが……。
それとも改行をさせる方法が根本的に間違っているのでしょうか。
ご教授お願いいたします。
No.2
- 回答日時:
ソードワールドRPGキャラクターシート管理CGI
とは、
http://www.vector.co.jp/soft/unix/game/se149734. …
これでしょうか?
sub htmlunquoteと言う部分が見あたりませんが・・・
ひょっとすると、
<textarea>の初期値の設定方法が間違っているということはありませんか?
<textarea>初期値</textarea>です
この回答への補足
言葉足らずで申し訳ありません。
そのCGIのVer.2.00が、CGI作成者さまのサイト http://www.new-f.com/
でDLできまして、そちらを使っております。
<textarea>初期値に関しては、DLした状態から変更していないので、恐らく、間違ってはいないと思います。
No.3ベストアンサー
- 回答日時:
ソースを見てみました。
キャラクタ更新フォームのデータを読むところで、
$_ =~ s/<(.*?)>([^<]+)<\/.*?>/$pc{"$1"} = $2;/egi while <IN>;
と、しているためデータ内に<br>が入っているとその項目が読み込み出来ません
下記の様に変更してみてください
sub htmlunquote{
my $text = shift;
$$text =~ s/</</g;$$text =~ s/>/>/g;
$$text =~ s/\n/<br>/g;
}
sub htmlquote{
my $text = shift;
$$text =~ s/&/&/g;$$text =~ s/"/"'/g;
$$text =~ s/</</g;$$text =~ s/>/>/g;
}
表示時は<br>に変換、記録時は改行をそのまま残します。
キャラクタ更新フォームのデータを読む箇所は
改行が入っているとwhile <IN>が分割されてしまうため下記のように変更
open(IN, "$chardatadir${file}.cgi") or error('システムエラー',"キャラクターファイル($file)が開けません。");
$_=join("",<IN>);
$_ =~ s/<(.*?)>([^<]+)<\/.*?>/$pc{"$1"} = $2;/egi;
close(IN);
これでOKになるはず
ありがとうございます!
教えて頂いたように修正しましたら、希望していた通りになりました。
丁寧に教えてくださって、感謝しております。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Excel(エクセル) マクロでテキストファイルを読み込んだ際の最終セルにデータと改行が含まれる問題の改善方法 2 2022/03/25 16:50
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- MySQL MySQLに登録した内容を更新する時の、textareaの使い方 1 2022/07/11 18:20
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで集計したい。
-
一番簡単なCGI,掲示板の設置教...
-
/bin/awk '{print $5}'ってどう...
-
apacheでPerl CGIが作動せず、5...
-
フォームを再送信しますか?
-
CGIで得た内容をHTMlページに代入
-
CGIって何ですか?簡潔に教えて...
-
cgiからsendmailを送信で文字化け
-
cygwinのターミナルの文字が読...
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
-
ホームページにCGIを設置したの...
-
サーバーのエラーでおしえてく...
-
ホームページの事でおしえてく...
-
さくらサーバーにcgiフォームを...
-
ホームページでCGIのフォームを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォームを再送信しますか?
-
エクセルで集計したい。
-
apacheでPerl CGIが作動せず、5...
-
ホームページでCGIのフォームを...
-
入力フォーム(電話番号)
-
htmlからパラメータで、cgiに渡...
-
/bin/awk '{print $5}'ってどう...
-
CGIが読み書きするデータファイ...
-
POSTメソッドの最大容量について
-
チェックボックスでのvalue値の...
-
cgi アクセス制限 エラー
-
CGIゲーム設置について
-
サイト訪問者の情報を取得したい
-
CGIって何ですか?簡潔に教えて...
-
cgiからsendmailを送信で文字化け
-
ホームページにメールフォーム...
-
ラズパイでのCGIで、pythonソー...
-
一番簡単なCGI,掲示板の設置教...
-
perlで書いたcgiでsqliteの使い...
-
CGIメールフォームの件名について
おすすめ情報