如何用 PHP 替换字符串中的多个 %tags%
替换 PHP 字符串中一组短标签的最佳方法是什么,例如:
$return = "Hello %name%, thank you for your interest in the %product_name%. %representative_name% will contact you shortly!";
我将定义 %name% 是某个字符串,来自数组或对象,例如:
$object->name;
$object->product_name;
等等。
我知道我可以运行 str_replace在字符串上多次,但我想知道是否有更好的方法来做到这一点。
谢谢。
What is the best way of replacing a set of short tags in a PHP string, example:
$return = "Hello %name%, thank you for your interest in the %product_name%. %representative_name% will contact you shortly!";
Where I would define that %name% is a certain string, from an array or an object such as:
$object->name;
$object->product_name;
etc..
I know I could run str_replace multiple times on a string, but I was wondering if there is a better way of doing that.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果您知道要替换的占位符,str_replace() 似乎是一个理想的选择。这需要运行一次而不是多次。
str_replace() seems an ideal option if you know the placeholders you intend to replace. This need be run just once not multiple times.
这个类应该这样做:
This class should do it:
最简单和最短的选项是带有“e”开关的 preg_replace
The simplest and shortest option is preg_replace with the 'e' switch
来自 str_replace 的 PHP 手册:
http://php.net/manual/en/function.str-replace。 php
From the PHP manual for str_replace:
http://php.net/manual/en/function.str-replace.php