您好我希望通过 file_get_contents
替换我正在加载的html电子邮件中的字词这是我的代码:
<?
$message = file_get_contents("http://www.MYwebsiteExample.com/EmailConfirmation.php");
$message = preg_replace('/SAD/', "HAPPY", $message);
// Also tried this below and it does not work either
$message = str_replace('/SAD/', "HAPPY", $message);
?>
我希望找到SAD的所有模式(区分大小写)并用HAPPY替换它们。出于某种原因,如果我使用 file_get_contents ,它似乎无法正常工作。
由于
更新日期:2013年1月22日
实际上,抱歉当我添加$时更正不起作用。它对我的代码不是必需的。我可以解决这个问题,但这不起作用:
$message = str_replace("$SAD", "HAPPY", $message); /// does not work. Not sure why
$message = str_replace("SAD", "HAPPY", $message); /// without the $ it does work.
答案 0 :(得分:7)
$message = str_replace("$SAD", "HAPPY", $message);
需要:
$message = str_replace('$SAD', "HAPPY", $message);
否则PHP会将其解释为变量$SAD
。有关单引号和双引号之间差异的说明,请参阅此post。
答案 1 :(得分:3)
你不应该使用正则表达式;这是简单的字符串替换:
$message = strtr($message, array(
'$SAD' => 'HAPPY',
));
顺便说一句,如果您使用"$SAD"
作为搜索字符串,PHP将尝试评估一个名为$SAD
的变量,该变量不存在,如果error_reporting
是{{3}},则会发出通知配置为显示它。