Я использую preg_match
для извлечения различных разделов телефонного номера из США из абзаца текста. Я уже могу извлечь номер. Но я хочу, чтобы match[0]
включал только номера телефонов.
Проблема: Мой шаблон подходит, но мне нужно немногопомочь избавиться от того, что текст перед номером телефона.Как избавиться от предыдущей строки "Hey my phone is "
?
PHP Code
$pattern = '/.*?(?:1(?:[. -])?)?(?:\((?=\d{3}\)))?([2-9]\d{2})'
.'(?:(?<=\(\d{3})\))? ?(?:(?<=\d{3})[.-])?([2-9]\d{2})'
.'[. -]?(\d{4})(?: (?i:ext)\.? ?(\d{1,5}))?.*?/';;
$subject = 'Hey my phone is 911-628-4539, call me tonight at 9:16:00pm, my room is 122-1001';
preg_match($pattern, $subject, $match);
print_r($match);
Вывод
Array ( [0] => Hey my phone is 911-628-4539 [1] => 911 [2] => 628 [3] => 4539 )