Pages

2010年7月22日木曜日

Zend_Filter の StringTrimで全角スペースを指定するとうまく動作しない

class Zend_Filter_StringTrim

にある

protected function _unicodeTrim($value, $charlist = '\\\\s')

というメソッドがあるんですが、問題はココ

return preg_replace("/$pattern/sSD", '', $value);

これはPHPでUTF-8で動作させている場合に発生する現象らしいのですが、対処方法は

return preg_replace("/$pattern/sSDu", '', $value);

と、パターン修飾子に「u」を追加してあげるだけ。

メソッドにエンコードを指定するのが用意されてるのかと思ったけでそうでもないようですね。。。

0 件のコメント:

コメントを投稿

Followers