■掲示板に戻る■
全部
1-
101-
201-
301-
401-
501-
601-
701-
801-
901-
最新50
[PR]
ぜろちゃんねるプラス
[PR]
レス数が1000を超えています。残念ながら全部は表示しません。
【PSO2】世界群歩行者達チームスレ その2【ハガル】
606 :
塊素 ★
:2014/05/09(金) 12:28:31 ID:wk6RoT/N
うーん、誰か Perl の正規表現について詳しい人いないかな、この掲示板のURL文字列の変換がなぜかうまく行かない。
【問題】
スパム回避のために書き込み拒否文字列に http を指定している。
これにあわせて、ttp で始まる URL文字列をリンク文字列に変換できるよう URL 文字列変換モジュールを修正した。
しかしながら、現在の修正方法では正しく変換できていない。<a href="">内のアドレスの先頭に h が付かない。
【対象文字列例】
ttp://hades.worlds-walkers.org/~WW/og/PSO2/
【修正前(抜粋)】
my $reg1 = q{(https?|ftp)://(([-\w.!~*'();/?:\@=+\$,%#]|&(?![lg]t;))+)}; # URL検索1
$$text =~ s|$reg1|<a href="$1://$2" target="_blank">$1://$2</a>|g;
【修正後(抜粋)】
my $reg1 = q{(h?ttps?|ftp)://(([-\w.!~*'();/?:\@=+\$,%#]|&(?![lg]t;))+)}; # URL検索1
if ($1 eq 'ttp' || $1 eq 'ttps') {
$$text =~ s|$reg1|<a href="h$1://$2" target="_blank">$1://$2</a>|g;
}
else {
$$text =~ s|$reg1|<a href="$1://$2" target="_blank">$1://$2</a>|g;
}
【調査状況】
修正後の if 判定において、($1 eq 'ttp' || $1 eq 'ttps') が真として判定されずに else の側へと処理が流れてしまう。
$1 の中身は ttp となっている模様。
【現在取れると思われる解決策】
ftp を捨てて http か ttp かで判断してしまう。
420KB
掲示板に戻る
全部
前100
次100
最新50
READ.CGI - 0ch+ BBS 0.7.5 20220323
ぜろちゃんねるプラス