今だけ人気マンガ100円レンタル特集♪

http://wwwhttps://wwwが混在する文章を、<a href="http://www">http://www</a>や<a href="https://www">https://www</a>にAutolinkするような変換は、Perl CGIでどのようにプログラミングするかを教えてください。http://wwwhttps://wwwが混在する文章であることがポイントです。

A 回答 (2件)

修正


$text =~ s/($RE{URI}{HTTP}{-scheme =>'(https|http)'}(:?k:#$fragment)?)/$q->a({href => $1}, $1)/ge;

$text =~ s/($RE{URI}{HTTP}{-scheme =>'(https|http)'}(:?#$fragment)?)/$q->a({href => $1}, $1)/ge;

この回答への補足

早速の回答ありがとうございます。実は下記の関数を使っておりますので、これをhttpとhttps対応に修正することは可能でしょうか?宜しくお願いします。
#-------------------------------------------------
# 自動リンク
#-------------------------------------------------
sub auto_link {
$_[0] =~ s/([^=^\"]|^)(http\:[\w\.\~\-\/\?\&\=\@\;\#\:\%]+)/$1<a href=\"$2\" target=\"_blank\">$2<\/a>/g;
}

補足日時:2011/12/20 10:21
    • good
    • 0
この回答へのお礼

sub auto_link {
$_[0] =~ s/([^=^\"]|^)(http\:[\w\.\~\-\/\?\&\=\@\;\#\:\%]+)/$1<a href=\"$2\" target=\"_blank\">$2<\/a>/g;
}

を次のように修正し、解決いたしました。

sub auto_link {
$_[0] =~ s/([^=^\"]|^)(http\:[\w\.\~\-\/\?\&\=\@\;\#\:\%]+|https\:[\w\.\~\-\/\?\&\=\@\;\#\:\%]+)/$1<a href=\"$2\" target=\"_blank\">$2<\/a>/g;
}

いろいろ参考になり大変ありがとうございました。

お礼日時:2012/01/04 14:20

use strict;


use warnings;
use CGI;
use Regexp::Common qw/URI/;
use Regexp::Common::URI::RFC2396 qw/:parts/;

my $text = do { local $/ = undef; <DATA> };

my $q = CGI->new();
$text =~ s/($RE{URI}{HTTP}{-scheme =>'(https|http)'}(:?k:#$fragment)?)/$q->a({href => $1}, $1)/ge;
print $text;

__DATA__
Autolinkするような変換は、Perl CGIでどのようにプログラミングするかを教えてください。http://wwwhttps://wwwが混在する文章であることがポイントです。
    • good
    • 0
この回答へのお礼

Most Valuable answer,Thank you

お礼日時:2012/01/17 22:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング