如何用PHP替换字符串中的变量?

时间:2009-05-06 08:39:33

标签: php regex preg-replace replace

所以我有一些看起来像这样的PHP代码:

$message = 'Here is the result: %s';

我只是用%s作为例子。它基本上是一个占位符,无论将去哪里。然后我将字符串传递给函数,我希望该函数用值替换%s。

我需要做些什么才能实现这一目标?我需要做一些正则表达式,并使用preg_replace(),或什么?或者有更简单的方法吗?

5 个答案:

答案 0 :(得分:21)

您实际上可以使用sprintf函数返回格式化字符串,并将变量放在占位符的位置。
它还为您提供了如何格式化和显示字符串的强大功能。

$output = sprintf("Here is the result: %s for this date %s", $result, $date);

答案 1 :(得分:3)

如果您使用%s,我认为这与printf用于字符串的占位符相同。所以你可以这样做:

$text = sprintf($message, "replacement text");

认为至少应该起作用......

答案 2 :(得分:3)

$find = array(
     '#name#',
     '#date#'
);
$search = array(
     'someone\'s name',
     date("m-d-Y")
);
$text_result = str_replace($find, $search, $text);

我通常在我的代码中使用它,从中获取$ text 一些text / html文件然后将$ text_result作为输出

答案 3 :(得分:2)

您可以使用sprintf,其工作方式与C的printfsprintf功能非常相似。

答案 4 :(得分:-3)

尝试动态变量:

$placeholder = 's';
str_replace("%".$placeholder,$$placeholder,$message);

然后%s将被$ s替换为变量