Разделить слово заглавной буквой

Я хочу разбить слово заглавной буквой в PHP

Например:

$string = "facebookPageUrl";

Я хочу так:

$array = array("facebook", "Page", "Url");

Как мне это сделать? Я хочу самый короткий и эффективный способ.

Ответ 1

Вы можете использовать preg_split с выражением look-ahead:

preg_split('/(?=\p{Lu})/u', $str)

Здесь \p{Lu} является символьным классом всех заглавных букв Юникода. Если вы просто работаете с символами US-ASCII, вы также можете использовать [A-Z].

Ответ 2

$string = "facebookPageUrl";

preg_match_all('((?:^|[A-Z])[^A-Z]*)', $string, $matches);
var_dump($matches);

http://ideone.com/wL9jM