Landscape トップページ | < 前の日 2004-01-06 2004-01-07 次の日 2004-01-08 >


* 47氏は某有名国立大学の助手?

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [winny]

インターネット事件簿 第3回:京都府警がWinnyに叩きつけた挑戦状 ―「われわれはすべてを解き明かした」
http://internet.watch.impress.co.jp/static/column/jiken/2004 ...
捜査関係者が、声を潜めて語る。
「Winnyの作者は、某有名国立大学の助手を務めている人物です。学内での立場もあり、今回の事件で家宅捜索を受けたことで開発をこれ以上進めるのは無理なのではないでしょうか」

47 氏の人物像を追う人はたくさんいて諸説があったが、どれが正しいかは私にはわからなかった。
・40歳程度のシステム管理者
・女子中学生説
ぐらいが記憶に残っている。
40歳程度という年齢は、47氏自身がトリップ付きで書き込んだ「情報処理試験は20年くらい前に受けた」というレスから導き出されたものだ。女子中学生説は言うまでもなくネタだろうが、いろんなところで好んでこの表現が使われていたのが印象的だった。

* ドリフの DVD-BOX

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [DVD]


懐かしい! 今日発売だそうだ。ドリフは幼い頃よく見てたなあ。うちはひょうきん族よりもドリフだった。幼稚園の入園式で、先生が「夜は8時に眠るよい子は手を挙げてー!」っていったとき、「ボクはドリフ見てるから悪い子なんだ・・・」という思考に至ったのが懐かしい。

幼い頃に見てたので、お化けが出てくるとコントにも関わらず本気で怖がってたし、歌のコーナーが邪魔で邪魔で仕方がなかった。志村が演じる早口言葉は大好きだった。子供心にはボイスチェンジャーで声が変わっただけでも大喜びだったから。

* リンク置換ロジックを置き換える

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [chalow]

以下の部分をコメントアウト。
    ### URL表記を href で
    # URL : http://....
    # 正規表現は http://www.din.or.jp/~ohzaki/perl.htm#httpURL より。
    # バックスラッシュを用いたURL中での改行に対応 021025
    #my $URLCHARS = "[-_.!~*'()a-zA-Z0-9;/?:@&=+,%\#\$]";
    my $URLCHARS = "[-_.!~*'a-zA-Z0-9;/?:@&=+,%\#\$]";
    my $URLDELIM = "\\\\\\n[\\t ]+";
    s{(?<!["\=|])((s?https?|ftp)://($URLCHARS+)($URLDELIM($URLCHARS+))*)}
    {'<a href="'.join('', split(/$URLDELIM/, $1)).'">'.
      join('', split(/\\/, $1)).'</a>'}gem; #")};

代わりに以下を追加。
$_ = MakeLink($_);

ただし、置き換えてしまうと
# バックスラッシュを用いたURL中での改行に対応
が使えなくなる。

* 文字列中の http URL と ftp URL をリンクにし、URL が長すぎる場合は省略表示する

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Perl]

文字列中に URL があった場合はリンクになってほしいが、URL が長すぎるとブラウザで表示したときに横スクロールバーが出たり、レイアウトが崩れたりする。これを防ぐために、大崎さんの perl メモで紹介されていたリンク置換スクリプトに手を加え、指定バイト数を超える URL の場合に省略表示するようにした。

- その他細かい修正点

メールアドレスの置換は必要ないので削除した。
blockquote タグの中ではリンクを張らないようにした。引用文を省略してしまって意味が変わってしまっては困るし、コードを貼り付けたときに余計なところま URL だと判断してしまうから。つまり、
$str = "http://www.google.co.jp/";
を変換すると、
$str = "<a href="http://www.google.co.jp/&quot;;">http://www.google.co.jp/";</a>
になってしまうのだ。ソースを引用するよりも実例を挙げた方が早いかな。
例) $str = "http://www.google.co.jp/";

sub MakeLink() {
    # perl メモ 自動で URI(URL) のリンクを張る 参照。
    # http://www.din.or.jp/~ohzaki/perl.htm#AutoLink
    # $str の中の URI(URL) にリンクを張った $result を作る

    my $str = shift;
    # URL の長さ制限。この値より長い URLは <a href="元の長い URL">省略されたURL ...</a> となる。
    # 0 で無制限。
    my $MAX_URL_LENGTH = 72;
    my $text_regex = q{[^<]*};

    # html タグの正規表現
    my $tag_regex_ = q{[^"'<>]*(?:"[^"]*"[^"'<>]*|'[^']*'[^"'<>]*)*(?:>|(?=<)|$(?!\n))}; #'}}}}
    my $comment_tag_regex = '<!(?:--[^-]*-(?:[^-]+-)*?-(?:[^>-]*(?:-[^>-]+)*?)??)*(?:>|$(?!\n)|--.*$)';
    my $tag_regex = qq{$comment_tag_regex|<$tag_regex_};

    # ftp url の正規表現
    my $ftp_URL_regex =
    q{\bftp://(?:(?:[-_.!~*'()a-zA-Z0-9;&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*} .
    q{(?::(?:[-_.!~*'()a-zA-Z0-9;&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)?@)?(?} .
    q{:(?:[a-zA-Z0-9](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.)*[a-zA-Z](?:[-a-zA-} .
    q{Z0-9]*[a-zA-Z0-9])?\.?|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)(?::[0-9]*)?} .
    q{(?:/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*(?:/(?} .
    q{:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)*(?:;type=[} .
    q{AIDaid])?)?(?:\?(?:[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9} .
    q{A-Fa-f])*)?(?:#(?:[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9A} .
    q{-Fa-f])*)?};

    # http url の正規表現
    my $http_URL_regex =
    q{\b(?:https?|shttp|ms-help)://(?:(?:[-_.!~*'()a-zA-Z0-9;:&=+$,]|%[0-9A-Fa-f} .
    q{][0-9A-Fa-f])*@)?(?:(?:[a-zA-Z0-9](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.)} .
    q{*[a-zA-Z](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.?|[0-9]+\.[0-9]+\.[0-9]+\.} .
    q{[0-9]+)(?::[0-9]*)?(?:/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f]} .
    q{[0-9A-Fa-f])*(?:;(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-} .
    q{Fa-f])*)*(?:/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f} .
    q{])*(?:;(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)*)} .
    q{*)?(?:\?(?:[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])} .
    q{*)?(?:#(?:[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*} .
    q{)?};

    my $result = '';
    my $skip = 0;
    while ($str =~ /($text_regex)($tag_regex)?/gso) {
     last if $1 eq '' and $2 eq '';
     my $text_tmp = $1;
     my $tag_tmp = $2;
     if ($skip) {
       $result .= $text_tmp . $tag_tmp;
       $skip = 0 if $tag_tmp =~ /^<\/[aA](?![0-9A-Za-z])/;
     } else {
       $text_tmp =~ s{($http_URL_regex|$ftp_URL_regex)}
         {my $org = $1;
           (my $tmp = $org) =~ s/"/&quot;/g;
           $org = substr($org, 0, $MAX_URL_LENGTH) . ' ...' if ($MAX_URL_LENGTH != 0 && $MAX_URL_LENGTH < length($org));
           '<a href="' . "$tmp\">$org</a>"}ego;
       $result .= $text_tmp . $tag_tmp;
       $skip = 1 if $tag_tmp =~ /^<[aA](?![0-9A-Za-z])/;
       if ($tag_tmp =~ /^<(xmp|plaintext|script|blockquote)(?![0-9A-Za-z])/i) {
         $str =~ /(.*?(?:<\/$1(?![0-9A-Za-z])$tag_regex_|$))/gsi;
         $result .= $1;
       }
     }
    }
    return $result;
}
すべての記事の見出し (全1029件)
全カテゴリの一覧と記事の数
カテゴリごとに記事をまとめ読みできます。記事の表題だけを見たい場合は、すべての記事の見出し (カテゴリ別表示) へ。

直近30日分の記事
2007-04-23 (Mon)
2007-03-07 (Wed)
2007-02-27 (Tue)
2007-01-17 (Wed)
2007-01-15 (Mon)
2007-01-14 (Sun)
2007-01-08 (Mon)
2006-12-01 (Fri)
2006-11-22 (Wed)
2006-11-20 (Mon)
2006-11-19 (Sun)
2006-09-30 (Sat)
2006-08-29 (Tue)
2006-08-04 (Fri)
2006-07-27 (Thu)
2006-07-23 (Sun)
2006-07-17 (Mon)
2006-07-10 (Mon)
2006-07-06 (Thu)
2006-07-03 (Mon)
2006-06-29 (Thu)
2006-06-28 (Wed)
2006-06-27 (Tue)
2006-06-25 (Sun)
2006-06-19 (Mon)
2006-06-18 (Sun)
2006-06-15 (Thu)
2006-06-11 (Sun)
2006-06-01 (Thu)
2006-05-30 (Tue)
プロファイル
斎藤 宏明。エンジニアです。宇都宮市に住んでいます。
リンク
RSS
スポンサードリンク
Powered by
さくらインターネット

© 斎藤 宏明 Saito Hiroaki Gmail Address
Landscape - エンジニアのメモ http://sonic64.com/
Landscape はランドスケープと読みます。
ひらがなだと らんどすけーぷ です。