68user's page 掲示板

Prev< No. 1765〜1768> Next  [最新発言に戻る] [過去ログ一覧]
No. 1765 # CZ 2001/02/28 (水) 23:05:27
<<1764

ん?? 何やってるんだろう。

s!<A HREF="(.*?)&gt;">(.*?)&gt;</A>!<A HREF="$1">$2</A>&gt;!g;
s!<A HREF="(.*?)&lt;">(.*?)&lt;</A>!<A HREF="$1">$2</A>&lt;!g;

これでいいんですね。
<<1762 はタイプミス
<<1763 は勘違いでした。

板汚しですみません。

No. 1766 # mm 2001/02/28 (水) 23:29:52
あっ、ウチも同じバグがある(^^;
でも、書き戻しですね…、ちょっとテストさせてくださいm(_o_)m
<http://x68000.startshop.co.jp/~68user/><http://www2s.biglobe.ne.jp/~cru/library/>

No. 1767 # 68user 2001/03/01 (木) 01:02:25
おー、これってきっちりやると結構面倒かも。で、30分あれこれ
やった結果…これでどだ!
    $_='hoge<http://x68000.startshop.co.jp/~68user/><http://www2s.biglobe.ne.jp/~cru/library/>fuga';
    
    s/&/&amp;/g;
    s/\"/&quot;/g;
    s/</&lt;/g;
    s/>/&gt;/g;
    $http_pattern = '((http|https)://[a-zA-Z0-9\.\/\~\:\?\#\@\&\-\+\=;%_]+)';
    $out = '';
    while (1){
            if ( ! s!(.*?)($http_pattern)!! ){
                    $out .= $_;
                    last;
            }
            $out .= $1;
            $buf = $2;
            $buf =~ s/((&lt;|&gt;|&quot;).*)//;
            $rest = $1;
            $buf =~ s!$http_pattern!<A HREF="$1">$1</A>!;
            $out .= $buf;
            $_ = $rest . $_;
    }
    
    print "$out\n";
無限ループが恐いので (^^;、まだ wwwboard.cgi には組み込んでません。

No. 1768 # mm 2001/03/01 (木) 02:34:18
無茶苦茶効率悪そうだし、未定義変数使用の警告が出るけど…(^^;

    $_='hoge<http://x68000.startshop.co.jp/~68user/><http://www2s.biglobe.ne.jp/~cru/library/>fuga';
    $http_pattern = '(http|https)(://)(([a-zA-Z0-9\.\/\~\:\?\#\@\&\-\+\=;%_]+?)(&gt;|&lt;|&quot;)|([a-zA-Z0-9\.\/\~\:\?\#\@\&\-\+\=;%_]+))';
    s/&/&amp;/g;
    s/\"/&quot;/g;
    s/</&lt;/g;
    s/>/&gt;/g;
    s!$http_pattern!<A HREF="$1$2$4$6">$1$2$4$6</A>$5!g;

Prev< No. 1765〜1768> Next  [最新発言に戻る] [過去ログ一覧]