[PHP-users 7115] Re: preg_match()の正規表現で URLを抽出し

Shinichi Moritani php-users@php.gr.jp
Wed, 24 Apr 2002 17:33:35 +0900


森谷です。

重松さん、ありがとうございました。
重松さんの方法で、何とか思ったような結果が得られました。

>#!/usr/local/bin/php -q
><?php
>$txt = "ほげhttp://192.160.0.1:8080/hoge.php?hoge=hogehogeうげ";
>$html = mbereg_replace(
>		'https?://'.
>		'(([a-zA-Z0-9]+\.){1,}[a-zA-Z]+|(\d+.){3}\d+)'. // host
>		'(:\d+)?'. // port
>		'(/[-.!~*\d\w;/?:@&=+$,%#]+)?',
>		'<a href="\0">\0</a>',$txt);
>echo $html;
>?>
>
>でどうでしょ?
>というか、その元の URL 抽出はかなりヘボイ正規表現なので、まともに書き直した方がよい
のでは。

確かにヘボイですね。
でも RFC に合わせなければならないようなものでもないですので、
簡単なものでOKなんです(^^ゞ

>そういえば、今日 PHP 4.2.0 が正式リリースとなったようです。
>これに入れ替えてもらってはどうでしょうか。>その業者

今日 phpinfo() で見たら、PHP 4.1.2 にバージョンアップされてました。


***************************
 Name : Shinichi Moritani
 Mail : ml@moritani.com
***************************