Today: Yesterday: Total: Online:
カテゴリー
その他
  • RSS1.0
  • RSS2.0
  • atom0.3
  • valid XHTML1.0
  • valid CSS2
  • Credit
RSSリーダーで購読する | この日記のはてなブックマーク数 | プロフィール
コメントが一番多い記事(233コメント):人の心理の裏をかくホームページ集客術:リピータになってもらうためには
ツイートが一番多い記事(94ツイート):ちょっと待て!twitterやfacebookに子供の写真を掲載する親達への警告
いいねが一番多い記事(574いいね):facebookスパムに要注意。なりすましの見分け方とアカウント乗っ取りの手口(2013年度版)
この記事に対する TrackBack URL

選択ボタンを押すとトラックバックURLが選択されるので,マウスの右クリックメニューや「Ctrl+C」 「command key+C」などでコピーしましょう。

カテゴリー » Web/ミディリン August 09, 2001

>(引用符)をつけるCGI ID:997282800


久々、スーツ着て、会社いってきた。
新しい営業先にいって、昨日作ったプレゼンを見せてきたのだが、
しかし、スーツは暑い。
前はずっとスーツで会社にいっていたのでなれていたのだが、
スーツを着ないことになれると、すっごい違和感を感じる。

さて、今日もすっごく簡易な自分が使いたい
Perlを組んだ。

これは、テキストの返信に「>」の記号をつけるもので
よく、メールの返信に、「>」がつくでしょう?
それをフォームでテキストを貼り付けて送信をおすだけで作れるもの。



例えば、雑談掲示板のレスを書くときに引用文を使うときに、
TXT文に1個ずつ、「>」をつけないといけないがめんどくさいので、

フォームに、掲示板のレスをテキストで流し込むだけで、
自動的に「>」をつけるっていうプログラム。

いつも、「>」をつけるのがめんどくさくて、作ってしまった.

作成時間、15分(笑)
必要最小限のものしかないデス。



#!/usr/local/bin/perl #Perlのパスを記述
require 'jcode.pl'; #ライブラリの読み込み
$homeurl='/midilin/res-form.html'; #ホームページURL
$program='res_sakusei.cgi'; #このプログラム名
$mycode='sjis'; #プログラムの漢字コード
print "Content-type: text/html\n\n"; #CGIのヘッダを出力

read(STDIN, $form_data, $ENV{'CONTENT_LENGTH'});
#↑データの受け渡し

&decode(); #デコード処理

$text = $cgi{'text'};
$mail = $cgi{'mail'}; #←使われてない



# 改行制御
$text =~ s/\r\n/\n/g; # Windows系(CR,LF)->LF
$text =~ s/\r/\n/g; # Mac 系(CR)->LF
$text =~ s/\n/\n> /g; #


# ファイル名書き出し作業
$listfile="/www/midilin/res.txt"; #ファイル書き出し先
$listurl="/midilin/res.txt"; #ファイル書き出し先

&data_check(); #データのチェック
&append_list(); #リストファイルへの追加


&print_browser(); #ブラウザへの表示
exit;

#textが入っていなかったらエラー
sub data_check{
if ($text eq "") {
print <<EOF;
EOF
exit;
}
}

#ファイル書き出し
sub append_list{
open(FILE, ">$listfile");
print FILE <<EOF;
> $text
EOF
}

#ブラウザ表示
sub print_browser{
print <<EOF;
<html>
<META HTTP-EQUIV="Refresh" CONTENT="0;URL=res.txt">
<TITLE>Thanks</TITLE>
</html>
EOF
}

sub decode{
@part = split('&', $form_data); #←データ複数時対応
foreach $i (@part) { #←各データごとに処理
($valiable, $value) = split('=', $i); #←name/valueで分離
$value =~ tr/+/ /; #←↓デコード
$value =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C", hex($1))/eg;
jcode'convert(*value,$mycode);#←漢字コードを統一'
#$value =~ s/&/&amp;/g; #←特殊文字対策
#$value =~ s/"/&quot;/g; #←特殊文字対策
#$value =~ s/</&lt;/g; #←特殊文字対策
#$value =~ s/>/&gt;/g; #←特殊文字対策
#$value =~ tr/\r\n//d; #←改行コードを削除
$cgi{$valiable}=$value; #←デコードしたら一時保存
}
}




今までのプログラム(リンク追加や、チェルトHTML生成など)の無駄なところを排除して、
TXTで、改行「\n」を「\n>」と、うって、
ブラウザ表示のところを、リフレッシュで直接飛ばすだけという
いたってシンプルなプログラム。


たとえば、掲示板の引用文をつけたり、
あと、メールをするときに、TXT方式ではなく、HTML方式(リッチテキスト方式)で
送られた場合に返信をするときに、
返信をすると「>」がつかないのだが、
これをつかえば、自然に、「>」がつくので、
手打ちで、「>」をしなくても、大丈夫。


ちなみに、最近、気が付いたことなのだが、
雑談掲示板で、引用文を使うときに、「>」を手抜きして、
文の最初だけに、>をつけてお返事を書く人が何人かいらっしゃるのだが

どれが自分が書いたもので、どれが、相手へのレスが、書いている本人にはわかると思うのだが
他の人が読むのは、改行の位置で見分けないといけないので、
実は、これは、他の人から見ると、ちょっと見にくいと思う(^^;

よく読まないとわからないので、引用文はめんどくさいけれど
各行に「>」をつけたほうがいいと個人的には思うので、
もし、「>」をうつのをめんどくさい人は、上のPerlのプログラムをはりつけて、
ローカル上で、CGIを使える環境にしてあとは、入力フォームを「name=text」渡せば返信できるので、
よければ使ってください(笑)

ん?
フォームHTMLを作るのめんどくさい?

んじゃぁ、こっちも。



<HTML><HEAD><TITLE>返信「>」追加フォーム</TITLE></HEAD>
<BODY>
<FORM METHOD="post" ACTION="res_sakusei.cgi">
<P> 
<P>TXT文<br>
<textarea name="text" cols="100" rows="10">テスト</textarea>

<P><BR>
<P><INPUT TYPE="submit" VALUE="OK ">
<INPUT TYPE="reset" VALUE=" とりけし ">
</FORM>
</BODY></HTML>


上のPerlをres_sakusei.cgiとして、下のHTMLをres-form.htmlとして、
あとは、パスを書き換えれば動きます。

ローカル上でPerlが動かない人は、1個ずつ「>」をうってくれると
めんどくさいかもしれないけれど、見やすいので助かります(^^)
(引用文を使うこと自体が、見にくいといわれてしまうと元も子もないのだが(笑))


最初、ネットで上のを動かせるようにupして、
誰でも、自動的に「>」をブラウザ上でできるようにしようと思ったのだが、
たとえば、不特定多数の人が、JavaScriptで、無限にループさせられたり、
大量のテキストを流し込まれて、サーバーをダウンされるようなこともあるかなって思い、
そうするのを回避させるには、エラーチェックなどのところも作りこまないといけないので
それは作る時間は今ないので、個人のローカルで使えるレベルのだけを上にプログラムはりつけておきます〜


さてさて、ネットスケープの2つがリリースされたが、
ネットスケープ、4.78がリリース
http://www.forest.impress.co.jp/article/2001/08/07/communicator478j.html

ネットスケープ6.1もリリース
http://www.forest.impress.co.jp/article/2001/08/09/netscape61j.html

なぜ、二つのブラウザをバージョンアップするのかちょっと疑問に思った。
ネットスケープ4×をバージョンアップするのなら、
6を出さなければよかったのに・・・
6.1だけリリースをするのならわかるんだけれど、
ネットスケープ4のバージョンアップがネットスケープ6ではなく
別々のブラウザとしてみているってことだよね。

Webクリエータにしてみると、両方のブラウザで動作確認をしなければいけないことが
増えるかもしれないめ、どっちかに統一してくれとは言いたい(笑)
(ユーザーから考えると、ネットスケープでお気に入りの方を使えばいいから
 好きなほうをバージョンアップすればいいのかもしれないけれど)
— posted by midilin @ 12:00AM | Comment(0) | TrackBack(0) 
[コメントが多かった順の記事]
人の心理の裏をかくホームページ集客術:リピータになってもらうためには(233)
ホームページ心理学第2弾「メールの書きだしとホームページ運営・集客の関係」(76)
娘が生まれた(69)
ゲームと言えば、何を思い出す? (50)
Microsoftからアクセス (30)
「目標の立て方」と「努力」と「実行力」(26)
この記事に対する TrackBack URL

選択ボタンを押すとトラックバックURLが選択されるので,マウスの右クリックメニューや「Ctrl+C」 「command key+C」などでコピーしましょう。

今のところまだトラックバックされていません。


カウンター