【问题标题】:php str_replace dollar signphp str_replace 美元符号
【发布时间】:2014-09-11 11:15:08
【问题描述】:

您好,我无法用美元符号替换字符串

$string = "The $NAME brown fox jumped over the lazy dog.";
echo preg_replace('/\$NAME/', "Sample Name", $string);

输出:

The brown fox jumped over the lazy dog.

问题是 $NAME 没有替换为 Sample Name。 如果有任何帮助可以解决我的问题,我会很高兴。

【问题讨论】:

  • 由于你没有做任何正则表达式搜索和替换,我建议使用 str_replace 代替。

标签: php replace str-replace


【解决方案1】:

那是因为 PHP 为您提供了 helpfully replaced the text in the string with the contents of $NAME。告诉它不要那样做。

$string = 'The $NAME brown fox jumped over the lazy dog.';

【讨论】:

  • 特别...使用双引号允许字符串插值,其中变量名称被解析并替换为它们的字符串值。单引号不允许字符串插值,将 $NAME 的字面值保留在其中。
  • 我也会将$NAME 更改为{NAME}。意味着你不能不小心为它分配一个变量
【解决方案2】:

试试

$string = 'The $NAME brown fox jumped over the lazy dog.';
echo str_replace('$NAME', "Sample Name", $string);

将字符串放在单引号而不是双引号 (") 中的解决方案,因为 PHP 会尝试解释特殊字符。

【讨论】:

  • ...这行不通。它尝试使用 $ 作为其分隔符并引发警告。
  • 对不起...我的意思是 str_replace 的类型!
  • 请解释您的代码。仅包含代码的答案不解释任何内容,这就是 StackOverflow 的全部意义所在。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-30
  • 1970-01-01
  • 2010-12-14
  • 2015-08-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多