のフリーCGI・PHPスクリプトをキーワード、97のカテゴリから検索できます。スクリプトの登録ご利用は一切無料です。


フリー、シェアCGI・PHPスクリプトをキーワード、96のカテゴリから検索できます。

 色々なスクリプトをお探しなら当サイトで検索

  •  フリーのCGI・PHPスクリプトだけをメインに掲載。
  •  ランキングによる評価で人気のスクリプトを紹介。
  •  サンプル(ページ)の閲覧によるダウンロード前の事前評価。
  •  お気に入りスクリプトへのパーソナルリンクの作成。

 スクリプト登録のメリット

  •  フリースクリプトなら一切無料で幾つでも掲載。
  •  細かなカテゴリ(全97項目)で閲覧者に分かり易く分類。
  •  スクリプトを印象づけるサンプル(ページ)の登録が可能。
  •  ダウンロードランキングの実施による人気度の評価。

素材サイト検索
- SPECIAL THANKS -

TOPページFlashを制作して頂きました
[ バナー作成ドットコム ]

掲示板機能拡張-2


掲示板では、一般的に自動リンク機能といって、書き込み内容にURLが記載されていた場合は、
それを自動的にリンクする機能があります。

今回は、タグ削除関数にその処理を組み込みます。

sub Del_Tag {
   $_[0] =~ s/<.+?>//g;
   $_[0] =~ s/(s?https?:\/\/[-_.!~*'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)/<a href="$&">$&<\/a>/g;
   return($_[0]);
}

とても複雑な正規表現ですが、これでも簡易的処理の自動URLリンク機能です。
実際に完璧なものを作ろうとすると、膨大な量を書かなければなりませんし、理解し難い内容になってしまいます。
なので、実用的にも上記の処理で十分です。

しかし、この場合ですとセキュリティ的にあまり実用的とは言えません。
リンク先へジャンプする前に、ユーザーに警告を表示させます。
なぜかというと、悪意のあるサイトへのリンクだった場合、誤ってクリックして
そのユーザーがウィルスに感染してしまう恐れがあるからです。
警告ページを表示するには、新規にモード関数を定義します。
そして、URLをエンコードし、それをCGIへ渡します。
エンコード処理は、クッキーのサンプルで使用したものを流用します。

sub Del_Tag {
   $_[0] =~ s/<.+?>//g;
   # 一致したURLの取り出し
   @url = $_[0] =~ /s?https?:\/\/[-_.!~*'()a-zA-Z0-9;\/?:\@&=+\$,%#]+/g;
   foreach(@url) {
      $url = $_;
      $url =~ s/\%([0-9a-fA-F][0-9a-fA-F])/pack("C",hex($1))/eg;
      $_[0] =~ s/$_/<a href="test.cgi?m=Jump&url=$url">$_</a>
   }
   return($_[0]);
}

# ジャンプ関数
sub Jump {
   print "Content-type: text/html\n\n";
   print "下記のアドレスのジャンプしてもよろしいですか?<br>";
   print "<a href="$in{'url'}" target="_blank">はい($in{'url'})</a>\n";
}

先ほどは、正規表現で発見したURLは、直接リンクへと変換しましたが、
今回は、URLをCGIへ渡すためにエンコードする必要があります。
リンク形式への変換とエンコード処理は同時に行えませんので、
とりあえず、発見したURLは配列へ退避させ、書き込み文にあるURLをすべて探し出します。
そして、割り出したURLを1つずつエンコードし、リンク形式に変換して置換します。

ジャンプ関数では、確認のメッセージを表示させて、URLへのリンクを貼ります。
今回の場合では、URLは何個書き込まれてもすべてリンクされます。
自動リンクされる個数が限定されるスクリプトもいいかもしれません。

sozaiCLUB