Задать вопрос
@red-web

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

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

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

Надо получить такую строку
Здравствуйте Анатолий мы знаем что ваша фамилия Рожков, поэтому Рожков Анатолий мы дарим вам подарок.
  • Вопрос задан
  • 82 просмотра
Подписаться 1 Средний 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F
preg_replace_callback('#\[~(.*?)~\]#', fn($m) => $arr['person'][$m[1]], $str)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы