2013-08-19 1 views
-1

Я пытаюсь использовать регулярные выражения, чтобы добавить PHP переменные во внешний HTML-страницу, так что я могу отправить в качестве HTML электронной почты в PHPMailer

струны я пытаюсь заменить это:

<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_pas s %% - это сводит меня с ума - что я делаю неправильно? это связано с тем, что myTempPass находится в URL-адресе? как я могу заставить его включить $ /. в замене?

+5

это очень плохой способ делать вещи, пожалуйста исследованиям получил «забыл пароль» функция должна быть реализована –

+1

хорошо, вы получили 1 вход, 4 'preg_replace()' так, где проблема? Не можете ли вы просто указать ** один ** вход с ** одним ** ожидаемым выходом? – HamZa

+0

@teresko, что не так в этом методе забыли пароль? Пользователь щелкает забыли пароль, я создаю новый временный пароль и отправляю его вместе с хэшированным пропуском в URL-адресе, и когда они нажимают на ссылку, которая активируется, а затем они регистрируются и должны немедленно сменить пароль - я не вижу проблема – Mobaz

ответ

1

Ваши две строки

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

интерполируем $2 и $. как переменные. Чтобы избежать интерполяции, вам нужно использовать одинарные кавычки.

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

, даже если я использую одинарные кавычки, я до сих пор не получаю правильные замены - все, что я получаю, это «a2» для myTemPass, но странно, что строка $ temp_pass отображается отлично – Mobaz

Смежные вопросы