php str_replace无法使用特殊的$符号

时间:2014-01-10 18:22:41

标签: php

我有一个字符串:

$html = '${from_username} thinks ${to_username} is awesomelylylylly amazing';

我正在尝试替换

${from_username}

$data->from_username

我在做

str_replace("\${from_username}", $data->from_username,  $html);

然而$ html未受影响

2 个答案:

答案 0 :(得分:1)

尝试此代码:如果在字符串中使用双引号,则将其视为PHP变量。所以试试单引号。

str_replace('${from_username}', $data->from_username,  $html);

答案 1 :(得分:1)

因为星期五,我们都是冲动的蠢货,我的第一个回答是:

  

使用str_replace('${from_username}', $data->from_username, $html);

     

单引号不会在字符串中搜索变量和和   因此会忽略$

不正确。正如评论中提到的,您的真正问题是,str_replace返回新字符串并且不会触及传递的参数。因为你正确地逃脱了,所以$会被忽略。