Как заменить переменную в строке на PHP?
-
06-07-2019 - |
Вопрос
Итак, у меня есть некоторый код PHP, который выглядит следующим образом:
$message = 'Here is the result: %s';
Я просто использовал% s в качестве примера. Это в основном заполнитель для всего, что пойдет туда. Затем я передаю строку в функцию и хочу, чтобы эта функция заменила% s значением.
Что мне нужно сделать, чтобы достичь этого? Нужно ли мне сделать регулярное выражение и использовать preg_replace () или что-то еще? или есть более простой способ сделать это?
Решение
Вы можете использовать функцию sprintf , которая будет возвращать отформатированную строку и помещать ваши переменные вместо заполнители.
Это также дает вам большие возможности по форматированию и отображению вашей строки. Р>
$output = sprintf("Here is the result: %s for this date %s", $result, $date);
Другие советы
Если вы используете % s
, я думаю, что это тот же самый заполнитель, который printf использует для строки. Так что вы могли бы сделать:
$text = sprintf($message, "replacement text");
Думаю, это должно сработать, по крайней мере ...
$find = array(
'#name#',
'#date#'
);
$search = array(
'someone\'s name',
date("m-d-Y")
);
$text_result = str_replace($find, $search, $text);
Я обычно использую это для своего кода, выбирая текст $ из некоторые текстовые / html-файлы затем делают $ text_result в качестве вывода
Вы можете использовать sprintf
, который очень похож на C Функции printf
и sprintf
.
попробуйте динамические переменные:
$placeholder = 's';
str_replace("%".$placeholder,$placeholder,$message);
тогда% s будет заменен на $ s, переменная