@krokoko

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

Здравствуйте! Подскажите пожалуйста.
Допустим у меня есть такая строка: "%id" "%name" "%foto" и есть вторая строка "%id" "%foto"
Эти строки берутся из mysql из одно поля. Можно ли как-то что бы вместо этим значей подставлялись мои, даже если нет какого-то поля то его не выводит?
Например "1" "krokoko" "image_url" и "2" "image2_url"

Но что бы не было много проверок, и допустим у меня таких значей 20, а нужно лишь только подставить если поле имеется.
  • Вопрос задан
  • 136 просмотров
Решения вопроса 4
maksim92
@maksim92
Нашел решение — пометь вопрос ответом!
Можете попробовать vsprintf, sprintf или str-replace. vsprintf('%d %s %s', [1,'Имя', 'Фото’]);
Ответ написан
glaphire
@glaphire Куратор тега PHP
PHP developer
Напишите функцию, которая в качестве аргументов принимает эту строку и массив значений для замены, внутри функции в цикле заменяете значения, если совпадение не найдено то заменяете пустой строкой, по-сути шаблонизатор на минималках
Ответ написан
xmoonlight
@xmoonlight Куратор тега PHP
https://sitecoder.blogspot.com
См. тут.
Ответ написан
@ffosters
Используйте функцию strtr:

$str = strtr('"%foo" "%bar" "%baz"', [
    '%foo' => 'foo',
    '%bar' => 'bar',
    '%baz' => 'baz',
]);


https://www.php.net/manual/ru/function.strtr.php
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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