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

发布于 2024-07-19 10:56:00 字数 251 浏览 6 评论 0原文

所以我有一些 PHP 代码,如下所示:

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

我只是使用 %s 作为示例。 它基本上是一个占位符,用于存放任何内容。 然后我将字符串传递给一个函数,我希望该函数将 %s 替换为该值。

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

So I have some PHP code that looks like:

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

I just used %s as an example. It's basically a placeholder for whatever will go there. Then I pass the string to a function and I want that function to replace the %s with the value.

What do I need to do to achieve this? Do I need to do some regex, and use preg_replace(), or something? or is there a simpler way to do it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

一腔孤↑勇 2024-07-26 10:56:00

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

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

You can actually use the sprintf function which will return a formatted string and will put your variables on the place of the placeholders.
It also gives you great powers over how you want your string to be formatted and displayed.

$output = sprintf("Here is the result: %s for this date %s", $result, $date);
淡淡の花香 2024-07-26 10:56:00

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

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

认为这至少应该有效......

If you use %s, I think that is the same placeholder that printf uses for a string. So you could do:

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

Think that should work at least...

岁月染过的梦 2024-07-26 10:56:00
$find = array(
     '#name#',
     '#date#'
);
$search = array(
     'someone\'s name',
     date("m-d-Y")
);
$text_result = str_replace($find, $search, $text);

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

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

I'm usually using this for my code, fetching the $text from
some text/html files then make the $text_result as the output

你的背包 2024-07-26 10:56:00

您可以使用 sprintf,其工作方式与 C 的 非常相似printf 和 sprintf 函数。

You can use sprintf, which works in a very similar way to C's printf and sprintf functions.

星光不落少年眉 2024-07-26 10:56:00

尝试动态变量:

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

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

try dynamic variables:

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

then %s will be replaced with $s, the variable

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文