[PHP-users 7094] Re: preg_match()の正規表現で URLを抽出
Osamu Shigematsu
php-users@php.gr.jp
Tue, 23 Apr 2002 19:30:23 +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;
?>
あまりに適当すぎて、ポートだとか忘れてました。
ローカルなホストの指定 (http://localhost/hoge.php) みたいなのは、
識別しないですし、改良の余地は腐るほどあるかと思いますが。
では。
--
Osamu Shigematsu
mailto:shige@ravi.ne.jp