Привет, я хочу заменить слова в html-письме, загружаемом через file_get_contents
Вот мой код:
<? $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, он, похоже, не работает.
благодаря
ОБНОВЛЕНИЕ: 22 января 2013 г.
Собственно, извините Коррекция, когда я добавляю $, она не работает. Это не обязательно для моего кода. Я могу работать, но это не работает ниже:
$message = str_replace("$SAD", "HAPPY", $message); /// does not work. Not sure why $message = str_replace("SAD", "HAPPY", $message); /// without the $ it does work.
$message = str_replace("$SAD", "HAPPY", $message);
должно быть:
$message = str_replace('$SAD', "HAPPY", $message);
В противном случае PHP интерпретирует его как переменную $SAD
. См. Это сообщение для объяснения разницы между одиночными и двойными кавычками.
Вы не должны использовать для этого регулярные выражения; это простая замена строки:
$message = strtr($message, array( '$SAD' => 'HAPPY', ));
Кстати, если вы используете "$SAD"
для строки поиска, PHP попытается оценить переменную с именем $SAD
, которая не существует и будет вызывать уведомление, если ваша error_reporting
настроена для ее отображения.