首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >str_replace函数替换占位符

问str_replace函数替换占位符
EN

Stack Overflow用户
提问于 2017-02-01 11:55:33
回答 3查看 185关注 0票数 1

下面的字符串已从数据库加载到$message中。

Hi,\n\nYou have a new voicemail message from ${VM_CIDNAME} (${VM_CIDNUM}), on ${VM_DATE}.\n\nThank you for using 123 Solutions.

我试图使用实际数据对字符串中的占位符进行str_replace,但是由于PHP正在解释${VM_CIDNAME},所以它没有执行替换操作。

$message = str_replace("${VM_CIDNUM}", $CallerID , $message);

如何替换占位符?

注意:更改占位符的格式不是一个选项,因为它是硬编码到第三方软件,我不能改变。

我还需要用换行符来str_replace "\n“字符。

非常感谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-02-01 11:59:01

您必须使用单引号(')

代码语言:javascript
复制
$message = str_replace('${VM_CIDNUM}', $CallerID , $message);
票数 1
EN

Stack Overflow用户

发布于 2017-02-01 11:59:07

尝试使用单引号(‘)

代码语言:javascript
复制
$message = str_replace('${VM_CIDNUM}', $CallerID , $message);

要替换"\n“,请使用nl2br() PHP函数

代码语言:javascript
复制
$message = nl2br($message);
票数 2
EN

Stack Overflow用户

发布于 2017-02-01 12:06:04

很简单。

代码语言:javascript
复制
/* SET string variables before set $message */

$VM_CIDNAME = $CallerNAME; /* Your CallerNAME variable */
$VM_CIDNUM = $CallerID; /* Your CallerID variable */
$VM_DATE = $CallerDATE; /* Your CallerDATE variable */

/* then */
 $message = "Hi,\n\nYou have a new voicemail message from ${VM_CIDNAME} (${VM_CIDNUM}), on ${VM_DATE}.\n\nThank you for using 123 Solutions.";
 $message = nl2br($message);

更新

代码语言:javascript
复制
$VM_CIDNAME = 'John';
$VM_CIDNUM = '1234';
$VM_DATE = '2017-01-01';
$dbRes = $mailboxinfo['emailbody'];
$ev = '$message = "' . $dbRes . '";';
eval($ev);
$message = nl2br($message);

没有什么可以代替的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41979198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档