preg_replace или mb_ereg_replace в этом случае? - PullRequest
2 голосов
/ 04 декабря 2011

Я это RegEx для сопоставления пробелов в Unicode:

/^[\pZ\pC]+|[\pZ\pC]+$/u

Я даже не уверен в том, что он делает, но, кажется, работаетТеперь, в этом случае, какая функция применяется лучше и почему?

$str = preg_replace('/^[\pZ\pC]+|[\pZ\pC]+$/u', '', $str);

или

$str = mb_ereg_replace('/^[\pZ\pC]+|[\pZ\pC]+$/u', '', $str);

1 Ответ

3 голосов
/ 04 декабря 2011

Первый работает.Второй нет.

Попробовал еще раз, mb_ereg_replace не на самом деле поддерживает эти экранированные символы Юникода.И он не использует разделители регулярных выражений.(См. Онигурума )

preg_replace использует механизм регулярных выражений PCRE, который поддерживает оба.


В любом случае, таких нетвещь, как «лучшее» приложение.Он либо функционирует, либо нет.

...