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.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になるはず
ありがとうございます!
教えて頂いたように修正しましたら、希望していた通りになりました。
丁寧に教えてくださって、感謝しております。
本当にありがとうございました。
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した状態から変更していないので、恐らく、間違ってはいないと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォームを再送信しますか?
-
エクセルで集計したい。
-
apacheでPerl CGIが作動せず、5...
-
ホームページでCGIのフォームを...
-
CGIの手順について教えていただ...
-
CGIでinit.dで起動したプロセス...
-
3Dモデリングをゲーム感覚のよ...
-
チェックボックスでのvalue値の...
-
めちゃきれい
-
number 改行が追加できない
-
生成AI画像について
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
-
ホームページにCGIを設置したの...
-
サーバーのエラーでおしえてく...
-
ホームページの事でおしえてく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで集計したい。
-
apacheでPerl CGIが作動せず、5...
-
フォームを再送信しますか?
-
(フリーの)ツリー掲示版CGI、...
-
ホームページでCGIのフォームを...
-
/bin/awk '{print $5}'ってどう...
-
CGIって何ですか?簡潔に教えて...
-
cgiからsendmailを送信で文字化け
-
入力フォーム(電話番号)
-
CGI.pmはもう古い!?
-
フォームメールを受信すると文...
-
古ーくからフリーのtree.cgi掲...
-
チェックボックスでのvalue値の...
-
誕生日占いをプログラムで作成...
-
cgiファイルで構成された検索結...
-
VBAで条件から範囲を指定して色...
-
Perl 別ドメインのファイル存在...
-
.htaccessについて
-
number 改行が追加できない
-
JQUERYでウェブのフォームから...
おすすめ情報