• ベストアンサー

『』を自動的に挿入するには

  先日 variable board (The Room) という掲示板をダウンロードのうえ設置しました。これはスキン変更が自由で入力項目の追加も自由にできるものです。  「愛読書リスト」といったものにしたいので、入力項目に[作者名][書名]を追加しましたが、表示のときに、書名に『』が自動的に付加されるようにしたいのです(例:夏目漱石『吾輩は猫である』)。  HTML で表示欄にあらかじめ『』を書き込んでおけばいいかなと思いましたが、それだと[書名]が未記入の場合に『』だけが表示されるということになってしまいます。  いろいろなやり方があるかと思いますが、CGI(Perl) は始めたばかりでよくわかりません。変更点についてのヒントだけでもいただけたらありがたいです。あるいは、これぐらいのことなら JAVA SCRIPT でなんとかなるのでしょうか。よろしくお願いします。

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

  • ベストアンサー
  • O_Denwa
  • ベストアンサー率26% (46/172)
回答No.2

 JavaScriptでやれないこともないですかね。  スキンの仕様がどうなっているのかがわかりませんけど。 画面を表示する際、書籍名が$Book_Nameという変数に入っており、 書籍名が記入されていないときは、$Book_Nameには、 なにも入っていないという状態ならば、 『』付で書籍名を表示したい部分に、 <script type="text/javascript"> <!-- if("$Book_Name"){ document.write("『$Book_Name』"); } // --> </script> とかでどうでしょ。  こんなやり方、普通はしないと思いますけど(^^;

kojuso
質問者

お礼

 とりあえず、ご回答の方法でしばらくやってみることにします。Perlをもう少し覚えたら、また考えてみたいと思っています。どうもありがとうございました。

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

その他の回答 (2)

  • Kirishima
  • ベストアンサー率32% (155/480)
回答No.3

私もCGIのプロではないのですが、 http://dream.lib.net/room/cgi/e_vbbs.html ここからダウンロードしてざっとソースを見たところ、 追加項目のうちの一つの項目だけ特別な動作をさせるのは、 改造も大変だと思います。 私なら、 書き込みのときに単に自分で『』をつけて登録することにしますが…。 どうしても自動で処理したくて、 無記入のときの『』がいやなら、 追加項目ではなく、ソースを改造して、 書名を入れるフィールドたとえば「$shomei」を用意して、 表示するときに、空欄でなければ『』をつける、という動作のさせかたもあると思います。 たぶん、こっちの方が追加項目の特定の項目だけ動作させるよりは改造が簡単かと…。

kojuso
質問者

お礼

 あ、質問時に参考URLを記しておこうと思ってたんですが、忘れてましたね。わざわざダウンロードのうえソースを調べてくださったのですか。お手数をおかけしました。「愛読書リスト」と書いたんで、あいまいでしたが、自分用ではなく投稿してもらう形式にするつもりなのでした。私も基本線としてはアドバイスいただいた方法が一番確実かなと思いました。ゆっくり考えてみることにします。どうもありがとうございました。

すると、全ての回答が全文表示されます。
  • Mizyu
  • ベストアンサー率41% (245/593)
回答No.1

一般的にBBSの処理は保存、参照の繰り返しになると思います。 BBSに記入する際、フォームから値を受け取り、変数に受けて、それをテキスト等に書く処理を入れていると思いますが、受け取った後、『』をつけてみてはいかがでしょう? そうすればテキスト等には書名には『』がついた状態で保存されます。 参照時には『』がついている状態で取り出せるため、仕様を満たせます。

kojuso
質問者

お礼

 アドバイスを参考にして、じっくり考えてみます。ありがとうございました。

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

関連するQ&A