[PHP-users 21421]Re: 一時的な解決をしました。

komura komura @ ma9.seikyou.ne.jp
2004年 4月 21日 (水) 00:13:52 JST


komura です。
On 2004年4月20日 15:13:58 +0900
Matsuoka Toshimasa <matsuoka @ shanghai-q.co.jp> wrote:
> //	16進数のHTML数値実体を10進数のHTML数値実体に変換する
> function hex2digit_numericentity($str)
> {
> 	while(ereg("(&#x([0-9a-fA-F]+);)", $str, $regs)) {
> 		$str = str_replace($regs[1], "&#".hexdec($regs[2]).";", $str);
> 	}
> 	return $str;
> }
>> 巨大な文字列だと、最悪な速度になる予感がします。

長い文字列の場合、以下のように preg_replace() を使用すると速くなると思います。
return preg_replace( '/&#x([0-9a-fA-F]+);/e', '"&#" . hexdec( "\1円" ) . ";"', $str );
-- 
komura <komura @ ma9.seikyou.ne.jp>


PHP-users メーリングリストの案内

AltStyle によって変換されたページ (->オリジナル) /