preg_match
, который, как я полагаю, вы уже используете, когда проверяете строку по своему регулярному выражению, также возвращает фактический текст, соответствующий вашему шаблону.
preg_match($regex, $input, $matches);
echo $matches[0];
Третий аргумент заполняется результатами попыток сопоставить регулярное выражение с вашими данными. $matches[0]
будет содержать текст, который соответствует всему шаблону, в то время как более высокие индексы будут содержать текст, который сопоставляется с захватом подшаблонов (части шаблона, заключенные в скобки).
Однако, в вашем случае, вы включили свой шаблон с символами начала ввода ^
и конца ввода $
, что означает, что любые совпадения должны включать весь входная строка (или целая строка в многострочном режиме). Вам придется избавиться от ^
и $
, прежде чем пытаться использовать этот шаблон для извлечения почтового кода из более крупной строки.