#┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
#┃■(SS)C−BOARDライブラリ(とほほ改ver1.0)
#┠──────────────────────────────────────
#┃分類し切れなかった関数が含まれています。
#┃
#┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
package ETC;
#┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
#┃ オプションリンク
#┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
sub option_link {
my $r_str = shift; my $no = shift;
return(&search_link(&number_link(&tree_link($r_str, $no),$no)));
}
#┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
#┃ オプションリンク解除
#┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
sub option_unlink {
my $r_str = shift;
return(&search_unlink(&number_unlink(&tree_unlink($r_str))));
}
#┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
#┃ 記事番号リンク
#┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
sub number_link {
my $r_str = shift; my $no = shift;
my $base = qq|[\x23$1]<\/a>|
: qq|[\x23$1]|/egmo;#とほほ修正(記事タイトルリンクアンカーにリンク)
return($r_str);
}
#┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
#┃ 記事番号リンク解除
#┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
sub number_unlink {
my $r_str = shift;
my $base = qq|\Q\[\x23\1\]<\/a>/[\x23$1]/gmo;
return($r_str);
}
#┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
#┃ 記事番号ツリーリンク
#┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
sub tree_link {
my $r_str = shift; my $no = shift;
my $base = qq|[\x23T$1]<\/a>|
: qq|[\x23T$1]|/egmo;
return($r_str);
}
#┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
#┃ 記事番号ツリーリンク解除
#┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
sub tree_unlink {
my $r_str = shift;
my $base = qq|\Q\[\x23T\1\]<\/a>/[\x23T$1]/gmo;
return($r_str);
}
#┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
#┃ 検索リンク
#┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
sub search_link {
my $r_str = shift;
require './lib/cgi.pl';
my $base = qq|[\x23?$1]<\/a>|/egmox;
return($r_str);
}
#┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
#┃ 検索リンク解除
#┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
sub search_unlink {
my $r_str = shift;
require './lib/cgi.pl';
my $base = qq|\Q\[\x23\?([^\]]+)\]<\/a>)
/(${&CGI::url_decode(\($word = $2))} eq $3)
? "[\x23?$3]": $1/egmox;
return($r_str);
}
#┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
#┃ 完全一致/後方一致/前方一致/部分一致
#┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
sub name_matching {
my $name = shift; my $master = shift; my $mode = shift;
$name =~ s/(?: | )+//g;
$master =~ s/(?: | )+//g;
my $ret_val = 0;
if ($mode == 0) { # 完全一致
if ($name eq $master) { $ret_val = 1; }
} elsif ($mode == 1) { # 部分一致
if (index($name, $master) >= 0) { $ret_val = 1; }
} elsif ($mode == 2) { # 前方一致
if (index($name, $master) == 0) { $ret_val = 1; }
} elsif ($mode == 3) { # 後方一致
if (rindex($name, $master) == (length($name)-length($master))) { $ret_val = 1; }
} else { # エラー
}
return($ret_val);
}
1;
# $Id: etc.pl,v 1.1.1.3 2002/04/04 08:15:00 N.Hirai Exp $;