[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 メーリングリストの案内