Нечто подобное должно делать, я полагаю:
$names = "username (Friendly Name)";
if (preg_match('/^(.*?) \((.*)\)$/', $names, $m)) {
var_dump($m[1], $m[2]);
}
И вы получаете, в этом случае:
string 'username' (length=8)
string 'Friendly Name' (length=13)
(обратите внимание на "string
", "length
" и все, что является только результатом var_dump
, а не фактическим содержимым переменных)
В основном, регулярное выражение соответствует:
- Что-нибудь от начала строки до пробела
- Тогда что-нибудь между
()
- И это два возвращаемых паттерна - так как они находятся между неотбегшими
()
; это означает, что они будут в $m[1]
и $m[2]