-1

我正在尝试使用正则表达式将 php 变量添加到外部 html 页面中,以便我可以通过电子邮件作为 phpMailer 中的 html 电子邮件

我要替换的字符串是:

<strong> %temp_pass%% </strong></p><p>
<a href="http://www.unlimitedtutors.com/forgotpass.php?email=%e%%&p=%myTempPass%%">

我的正则表达式是:

$hashTempPass = "$2a$10$";
$temp_pass = "'=$.hel3332lo\/'";
 $body = file_get_contents('email/forgot_pass_email.html');
 $forgot_pass_email = preg_replace('#[0-9A-Za-z.%]temp_pass%%#',$temp_pass, $forgot_pass_email);
$forgot_pass_email = preg_replace('#[0-9A-Za-z.%]myTempPass%%#',"$2a$10$", $forgot_pass_email);

问题是所有 $ 和数字符号都从 myTempPass%% 中删除,但不是从 temp_pass%% 中删除 - 这让我发疯 - 我做错了什么?这与 myTempPass 在 url 中的事实有关吗?我怎样才能让它包含 $/. 在替换?

4

1 回答 1

1

你的两根弦

$hashTempPass = "$2a$10$";
$temp_pass = "'=$.hel3332lo\/'";

是插值$2$.作为变量。您需要使用单引号来避免插值。

$hashTempPass = '$2a$10$';
$temp_pass = '\'=$.hel3332lo\/\'';
于 2013-08-19T17:58:30.670 回答