[PHP-users 30485] Re: ereg_replace()でurlencode()
clockwork-toy @ flashmail.com
clockwork-toy @ flashmail.com
2006年 10月 9日 (月) 23:49:35 JST
あだちです
preg_replace_callbackは自分で書くより高速だろうしよいと思いますが,
どうしてもやりたいなら他の命令も駆使して無理矢理組み込むしかないのでは?
たとえば
$text = str_replace(array("\0", "\1"), '', $text);
$tokens = explode("\0", ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "\0\\0\1", $text));
$tokens = array_map('explode', array_fill(0, count($tokens), "\1"), $tokens);
こんな感じでURLの前後を特殊な文字でマーキングし,
URLとその他の文字列ををトークン(?)として切り出してしまうとか
#でも何のメリットもないですね
#PCRE正規表現が使えないとかの理由ならがんばって覚えた方が良いと思う
PHP-users メーリングリストの案内