#php #регулярные_выражения
Есть строка в php допустим $str = 'z1.z2.z3.z6' Как привести её к такому виду '[f1][f2][f3][f6]' через регулярку используя preg_replace ??? То есть везде заменить z на f, но соответствующие числа оставить и заключить выражение в квадратные скобки.
Ответы
Ответ 1
$str = 'z1.z2.z3.z6'; echo preg_replace('/z(\d+)(.|$)/i', '[f${1}]', $str);Ответ 2
Ещё один вариант $string = 'z1.z2.z3.z6'; $symbol = 'f'; // Символ для замены $pattern = ['~\w(\d)~', '~(?<=^|\.)~', '~(?=\.|$)~', '~\.~']; $replace = [$symbol .'$1', '[', ']', '']; echo preg_replace($pattern, $replace, $string); // Результат: [f1][f2][f3][f6]
Комментариев нет:
Отправить комментарий