2011-10-24 13 views
2

preg_replaceとpreg_matchは\ h(水平空白)と\ v(垂直空白)フラグを無視しています。PHP preg_replace hと vフラグを無視しています

$text = preg_replace('/[\h]+/', ' ', $text); 

この行は、一連の連続する水平空白文字を1つのスペースで置き換える必要があります。代わりに、文字 'h'を置き換えます。

PCRE 6.6がインストールされています。私は[:blank:]を\ hの代用として認識していますが、\ vの代替を見つけることはできません(もちろん、これらを何かに置き換えるのではなく、 else)

答えて

2

ご使用のPCREではサポートされていません。

http://www.pcre.org/changelog.txt

のchangelogは\hは、それが助け場合は、水平方向の空白は単にスペースとタブで

+0

よろしくお願いいたします。私はPCREのドキュメントを誤読していましたが、\ hと\ vが* Perl * 5.10で追加されています。これはPCRE 5.10 – andrewtweber

1

バージョン7.2で追加されましたと言います。だから[ \t]

+0

として間違っています。なぜ有益な答えですか? – anru

関連する問題