1

こんにちは、 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.
4

2 に答える 2

8
$message = str_replace("$SAD", "HAPPY", $message);

する必要があります:

$message = str_replace('$SAD', "HAPPY", $message);

それ以外の場合、PHP は変数として解釈します$SAD。一重引用符と二重引用符の違いについては、この投稿を参照してください。

于 2013-01-22T19:14:19.863 に答える
3

これには正規表現を使用しないでください。それは単純な文字列の置換です:

$message = strtr($message, array(
    '$SAD' => 'HAPPY',
));

ところで、"$SAD"検索文字列に を使用すると、PHP は$SAD存在しないという変数を評価しようとし、表示error_reportingするように構成されている場合は通知をスローします。

于 2013-01-22T19:14:29.707 に答える