@red-web

Как найти в тексте и заменить значение по маске?

Есть вот такая строка
Здравствуйте [~iname~] мы знаем что ваша фамилия [~fname~], поэтому [~fname~] [~iname~] мы дарим вам подарок.

Есть такой массив
$arr['person']['iname']="Анатолий";
$arr['person']['fname']="Рожков";

Надо получить такую строку
Здравствуйте Анатолий мы знаем что ваша фамилия Рожков, поэтому Рожков Анатолий мы дарим вам подарок.
  • Вопрос задан
  • 79 просмотров
Решения вопроса 1
0xD34F
@0xD34F
preg_replace_callback('#\[~(.*?)~\]#', fn($m) => $arr['person'][$m[1]], $str)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы