cgiの文字表示をcssで指定するには?

[上に] [前に] [次に]
なゆた 1999/11/30(火) 00:41:55
配布されているcgiスクリプトのカスタマイズをしたいのですが、
そのときに文字などをcssで指定するにはどうしたら良いのでしょう?
本とはテーブルとかも改造したいのですが、
下手にいじるとエラーになったりして…(; ;)
なかなか上手くいきません…。
どの部分をいじったら良いのかがいまいちわからないのでス。

多分スクリプトの仕組みを理解してないからだとは思うんですけど…。
勉強するのに、良い参考書なども知ってる方がいらっしゃれば、
どうか教えてください。
お願いします。

1999/11/30(火) 00:47:06
結局何が聞きたいのでしょうか(^^;
表題に関しては、普通にインラインでタグに指定するか、もしくは外部ファイルを呼び出すかする。

直接編集する時に気を付けるのは、ダブルクォート関係でしょうね。
\でエスケープするのを忘れないように。
ヒアドキュメントでは特に必要ありませんが。

エルメス・プレスリー 1999/11/30(火) 06:17:41
配布されているどのCGIなのでしょうか?
そして、そのどの部分を弄りたいのでしょうか?
もう少し詳しく書いてくれませんか?

自力で勉強するならば一つアドバイス。
print" hogehoge \n";
という行をCGI中に見ると思います。
これは「HTMLにhogehogeを表示するという意味です。」

HTMLだろうが、普通の文字だろうが、変数だろうがOKです。
HTMLや普通の文字はご自分が理解できる範囲でここを書き換えられます。
また、書き換えるだけでなく、そのprint" hogehoge \n";を追加挿入することもOKなので例えば、
CSSならば</head>の前に挿入すればよいということは解りますよね?

また、printでhogehogeを書く場合に注意しなければならないことは
<img src="watashi.gif">などの「"」です。
このままだとエラーが返ってくるので「"」の前に\を入れます。
つまり、<img src=\"watashi.gif\">です。
(これが猫さんがおっしゃってる「\でエスケープ」の解説。)

たまにprintで書かれず極普通のHTMLで書かれている部分があります、この場合はそのまま普通のHTMLを挿入するだけでOKです。
もちろん、\でエスケープする必要もありません。

目に見える部分はそのprintさえ知っていれば自分色にカスタマイズできると思いますので是非ご自分でトライなさってください。

#上の解説でいいんでしょうか?(^^;)
#先輩方チェックをお願いします。

うそっち 1999/11/30(火) 16:58:45
インラインで書き込むなら:と;もエスケープしなければならないのではないでしょうか?

なゆた 1999/11/30(火) 21:11:23
迅速かつ的確な返信ありがとうございます。

質問の仕方が悪かったようで…(汗)
ご迷惑おかけしました。
sccファイルを作って、呼び出したいのです。
直接の記述の仕方はわかりましたv
とてもわかりやすく解説してくださってありがとうございます。

ちなみに、cgiスクリプトは
とほほさんのところで配布されているものではないので、
ここに書くのはちょっと気が引けるのですが、(ごめんなさいっ)
http://www2m.biglobe.ne.jp/~To-chat/script/index.cgi
ここで配布されている、
What's New です。
各書きこみを、立体的ではないテーブル枠で囲いたいんです。

よろしくお願いします…。

エルメス・プレスリー 1999/12/01(水) 08:31:03
「立体的でないテーブル枠」とはどういう意味でしょうか?
スクリプトを見たところ、border指定は0になってましたし、
ローカルで実行してみても立体的な部分は見られませんでしたが。

CSS記述は685行目の
print "<META http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\"></head>\n";

print "<META http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">\n";
print "<STYLE type=text/css>\n";
print "<!--\n";
print "A { font-weight:bold }\n";
print "A:link { COLOR:#0000FF }\n";
print "A:hover { COLOR:#FF00A0 }\n";
print "A:visited { COLOR:#000000 }\n";
print "-->\n";
print "</STYLE>\n";
print "</head>\n";
に書き換えればいいかと。
(CSSの値は例です)

なゆた 1999/12/01(水) 09:28:03
返信ありがとうございます。
とてもすばやいので、うれしいですvvv

もともとテーブルの枠表示はされてませんよね?
それをテーブルで囲いたいんです。
ただ、普通に(?)囲うと、
ちょっと立体的な線が出てきてしまいますよね?
枠線に色がつけられないし。
そこで、大きなテーブルの中に、小さなテーブルを入れる
という手法を使って色のついた枠線を表示させたいのです。

…なんか上手く伝わっているのかどうか心配…。

うそっち 1999/12/01(水) 11:29:14
DIV.waku{border:BLACK solid 1px;}
として
<DIV class="waku"><TABLE>〜</TABLE></DIV>
でいかがでしょう。

エルメス・プレスリー 1999/12/01(水) 19:22:52
テーブルをテーブルで囲うならCGIスクリプト中の
<table
という文字列をエディタで検索させて(多分何カ所か出てくるハズ)
その上の行あたりに先述の
print " hogehoge \n";を使ってテーブルを書き足せばOKです。

テーブルなどのHTMLはおわかりですよね?

なゆた 1999/12/01(水) 19:31:03
print"hogehoge\n";で書けばいいんですネ!!!

わかりました。
どうもありがとうございました。
親切に教えてくださって本とにうれしかったです(^^)

[上に] [前に] [次に]