• ベストアンサー

掲示板の文字色指定について

はじめまして。私は学生で超のつく初心者なのですが、課題で掲示板を作っています。 基本的な表示はなんとかうまくいったのですが、よくある、文字色を選択して好きな色で文章(コメント)を表示させるプログラムがわかりません。 if文を使うパターンではなく、色の情報を書き込み、ファイルからデータを読み込むやり方でできるらしいのですが、どうやって書いたらよいのでしょうか・・・。 ちなみにhtml表示部分に、色の指定はしてあり、赤、青、緑、黄色でvalueはred,blue,green,yellowにしています。 下に書き込みと読み込みの部分を乗せたのですがどう入れたらいいでしょうか。 本当に初心者だし分かっていないので説明もわかりにくくてすいません。もしどなたか分かる方いたらよろしくお願いします。 #------------------------------------------------------------ # 登録データ書き込み処理 #------------------------------------------------------------ sub writeData() { # $DATAFILEをオープンする open(FILE, ">> $DATAFILE") or die("error:$DATAFILE open error!"); eval{ flock(FILE, 2); }; $timestr = &getTimestr(); $in{'comment'} =~ s/\n/<br>/g; print FILE "$in{'namae'},$in{'dai'},$in{'comment'},$timestr,"; close(FILE); } #------------------------------------------------------------ # 登録データ読込み処理 #------------------------------------------------------------ sub readData() { # $DATAFILEをオープンする open(FILE, "< $DATAFILE"); eval{ flock(FILE, 2); }; while(<FILE>){ chomp; $line[$cnt++] = $_; } close(FILE); }

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

Perl/CGIでしたら多少お力添えできそうです。 color情報をデータに書き込み、読み込むときにそのデータを取り出してタグの内部に利用してやれば良いかと思います。 主に読み込み時に一度配列にファイル内容を取り込み その後、split関数でデータを分けてtemp_dataという一時的な配列に格納、それを出力。みたいな感じでいかがでしょう。 動作テストしてないので動かないかもしれませんが、考え方の手助けになれれば幸いです。 HTML <form action="XXX.cgi" method="post"> NAME<input type="text" name="name" /> TITLE<input type="text" name="dai" /> <textarea name="comment">Please Type Any Comment!</textarea> COLOR red<input type="radio" name="color" value="red"/> blue<input type="radio" name="color" value="blue"/> green<input type="radio" name="color" value="green"/> <input type="submit" value="書き込み"> </form> とでもして CGI側 #書き込み処理 #------------------------------------------------------------ # 登録データ書き込み処理 #------------------------------------------------------------ sub writeData() { # $DATAFILEをオープンする open(FILE, ">> $DATAFILE") or die("error:$DATAFILE open error!"); eval{ flock(FILE, 2); }; $timestr = &getTimestr(); $in{'comment'} =~ s/\n/<br>/g; print FILE "\n$in{'namae'},$in{'dai'},$in{'comment'},$in{'color'},$timestr,"; #↑不要だったら先頭の\n消してください close(FILE); } # ファイル読み込み sub readData() { my @file_data=(); my @temp_data=(); # $DATAFILEをオープンする open(FILE, "< $DATAFILE"); eval{ flock(FILE, 2); }; @file_data = <FILE>; close(FILE); foreach(@file_data){ #@file_dataを元に一行毎に処理させます @temp_data = split(/,/); print "$temp_data[1] (by $temp_data[0] / $temp_data[4]) : <div style=\"color:$temp_data[3]\">$temp_data[2]</div>\n"; } }

kikko00
質問者

お礼

ご回答ありがとうございます。 なんかできそうな気がします。参考にさせていただきますね。 ありがとうございました!

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • nazotarou
  • ベストアンサー率46% (27/58)
回答No.1

HTLMの文字色をそのままコメントに付け加えたら? "<font color=red>"+コメント+"</font>" 文字連結って、+? .だっけ? にして書き込む。

kikko00
質問者

お礼

ご回答ありがとうございます。 文字連結とか知りませんでした。参考にさせていただきます。 ありがとうございました!

すると、全ての回答が全文表示されます。

関連するQ&A