No.3ベストアンサー
- 回答日時:
#1です。
とりあえず作ってみました。
もしCGIで実装する際にご使用ください。
"read.cgi"-------------------------
#!/usr/local/bin/perl -T
print "Content-type: text/html\n";
print "\n";
my %IN;
my $filename;
my $dat_folder = './files/';#.datファイルの格納場所
#read.cgi?file=filename&key=value
#と読み出します、filenameに.datは必要ありません。置き換え文字はいくつでも設定可能です。
my $str = $ENV{'QUERY_STRING'};
#&で切る
my @temp = split(/&/, $str);
foreach my $temp (@temp) {
#=で切る
my($key,$value)=split(/=/,$temp);
#デコードします
$value =~ tr/+/ /;
$value =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C", hex($1))/eg;
$key =~ tr/+/ /;
if ($key eq 'file'){$filename = $value;next;}
$IN{'%'.$key.'%'} = $value;
}
#汚染CHECK
$filename =~ /(\w+)/;
$filename = $1;
unless (-e $dat_folder.$filename.'.dat'){
#ファイルが存在しない場合
print <<"EOM";
<HTML>
<HEAD>
<TITLE>error</TITLE>
</HEAD>
<BODY>
無効なファイル名を設定しました。<br>
$filename.dat<br>
は存在しません<br>
</BODY>
</HTML>
EOM
exit 0;
}
open (FH,'<',$dat_folder.$filename.'.dat');
while(<FH>){
foreach $temp (keys %IN){
s/([^%])$temp|^$temp/$1$IN{$temp}/g;
}
s/%%/%/g;
print;}
close(FH);
-----------------------------------
使用する際は、read.cgiと同じフォルダにfilesというフォルダをつくり、html文書の拡張子を.datにして保存します。
read.cgi
files
|-file1.dat
|-file2.dat
読み出す際はread.cgi?file=filename&key1=value1&key2=value2
のようにURLを入れます。
filenameは上記のfile1、file2に相当するファイル名
文章中に%key1%や%key2%を書き込むとvalue1、value2としてHTML文書が作成されます。
%%と書くと%として出力されます。
valueに日本語など2byte文字を設定するときは%nn(nは0-9a-f)にエンコードする必要がありますが、HTMLタグの<Form>を使い送信すれば自動的に%nnにエンコードしてくれます。日本語コード(Shift-Jis,Jis,EUCなど)を設定しないと文字化けの可能性もあります。
No.5
- 回答日時:
あ、さっきのつけたしなんですが、
タグをコピーして、ちょっと変えたりしながら使ってくださいね。
環境によっては使えない人もいるかもしれませんが、
CGIを使えない人はjavascriptが便利です!
こんなタグまで打ってくださってありがとうございます!申し訳ないです!!
お知らせするのが大変遅くなってしまいまして...わたしの利用させていただいているサーバはCGIが使えないのです(汗)javascriptをつかうことに致しました。わざわざ本当にありがとうございました!
お心遣い感謝します!
No.4
- 回答日時:
タグだとこんな感じだと・・・
javascriptを使用かな?
-------------------------------------------
二つの名前の場合(苗字と名前とか)
<head>~</head>に
<script type="text/javascript">
<!--
chip = prompt("名前を教えて下さい。","");
if(chip == null || chip == ""){
chip = "名前未入力時に呼ぶ名前";}
chip1 = prompt("名前2を教えて下さい。","");
if(chip1 == null || chip1 == ""){
chip1 = "名前2を未入力時に呼ぶ名前する";}
-->
</script>
名前1を表示させたい所に
(<body>~</body>で)
<script type="text/javascript">
<!--
document.write(chip);
-->
</script>
名前2を表示させたい所に
(<body>~</body>で)
<script type="text/javascript">
<!--
document.write(chip1);
// -->
</script>
-------------------------------------------
一つだけの名前を使用のとき
(<head>~</head>で)
<script type="text/javascript">
<!--
chip = prompt("お名前を記入してください","");
if(chip == null || chip == ""){
chip = "名前未入力時に呼ぶ名前"}
-->
</script>
名前を呼ばせたい場所に
<script type="text/javascript">
<!--
document.write(chip);
-->
</script>
こんな風にいれるだけでいいんじゃないでしょうか?
No.2
- 回答日時:
所謂ドリーム小説でしょうか?
でしたらDream Makerを使っている方が多いように思います。
http://www.babu.jp/~raika/Dream/
こちらでしたらレンタルですので、CGIが使えなくても使えると思います。
参考URL:http://www.babu.jp/~raika/Dream/
ドリーム小説といったらなにか漫画のキャラでつくる小説のことでしょうか(今調べたのでよくわからなくて;)オリジナル小説なのですが、このサイト様のいいですね!とても勉強になりました。教えてくださってありがとうございました!!
No.1
- 回答日時:
動的に、HTMLを作成する何らかのプログラムを使用することになると思います。
たとえばCGIの一つであるPerlをつかうとしたら
文章本文が、text1.datだとして、この中で主人公の名前を%name%と書いておくとします。
あとは、Perlにファイルがtext1ということと名前を送って、書き換えてもらえばいいのです。
tunamayo様の環境でCGIが使えるようなら、私がCGIを作成することも可能ですが、それなりの手間が掛かりますゆえに、使えるようなら補足をください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 文学・小説 好きな芸能人(女優)を主役にして 小説を書く時は自分の名前なを異性にして小説を書くことはできるけど自 1 2023/05/30 19:23
- 文学・小説 小学生の頃読んだ小説のタイトルが思い出せません。助けて下さい。 1 2022/05/07 04:25
- 文学・小説 かなり前に読んだ小説の題名が思い出せなくて困ってます。漠然とした曖昧な記憶ですが、心当たりのある方い 1 2022/05/21 15:22
- 文学・小説 主人公の名前が○くん、その彼女が○ちゃん、そしてその主人公と彼女がお互い初体験するのだが、その後主人 1 2022/10/14 20:20
- 文学・小説 昔読んだ小説が思い出せません。 小学生の時、図書館に置かれていた分厚いファンタジー小説です。 確か海 1 2023/08/04 22:46
- 政治 趣味で刑事小説を書いているのですが、主人公(警察キャリアという設定)の所属する組織の名前がしっくり来 3 2022/11/21 09:22
- その他(アニメ・マンガ・特撮) マンガ、アニメ、ドラマが苦手です。 3 2022/12/05 08:23
- 文学 論理的思考能力と国語問題 3 2022/03/30 09:04
- 文学・小説 小説を探しています! 1 2023/01/12 23:27
- 洋画 ■お薦めの洋画(9) 3 2023/08/06 17:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
インターネット用語について教...
-
画像録画ソフト Apower RECの解...
-
イントラネットを構築したい
-
LINE でリンク先を投稿すると ...
-
プログサイトでオススメなのは...
-
FC2 BLOG <AUDIO TAGを入れプ...
-
自分のドメインが他者のサイト...
-
任意団体名でも開設できますか
-
ホームページ
-
Qoo10で注文をキャンセルしたら...
-
企業ホームページのアンケート...
-
ホームページの文字化けについて
-
YOUTUBE編集中にエラー表示が出...
-
有料サイトの開設方法
-
ホームページ
-
サーバーログイン情報とFTP接続...
-
インターネットの環境をポケッ...
-
Slackの料金体系に詳しい方教え...
-
アフェリエイトって登録したサ...
-
あいみょんというワードが検索...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
LINE でリンク先を投稿すると ...
-
インターネット用語について教...
-
Qoo10で注文をキャンセルしたら...
-
http://cloth-gallery.net/inde...
-
イントラネットを構築したい
-
任意団体名でも開設できますか
-
MP3のURLが知りたい
-
画像録画ソフト Apower RECの解...
-
さくらインターネットのレンタ...
-
ホームページ
-
ASPで取得した情報をscriptタグ...
-
aspの記述がコメント表示されて...
-
au光のIPv4/IPv6デュアルスタッ...
-
自分のドメインが他者のサイト...
-
昨日今日の時点でワクチン接種...
-
ホームページ
-
認定NPO法人カタリバ
-
ASP.NET Core をWEBサーバーで...
-
FC2 BLOG <AUDIO TAGを入れプ...
-
GOOメールが使用出来なくなりま...
おすすめ情報