-2

こんにちは、私は変数 ( $text) からテキストを取得し、 経由で送信しましたmail()。テキストでは、他の変数を使用したいと考えています。データベースから取得します。( $text1)。

私のメールのテキスト ( variable 内$text) はそのように見えます。

「こんにちは$text1、お元気ですか?」

$text1ここで、データベースの元のテキストに置き換えたいと思います。

私がしなければならないこと?

例えば:

$text1 = $row['text1'] // from Database1

$text2 = $row['text2'] // from Database1

$text = $row['text'] // from Database2

の内容$textは「こんにちは$text1、お元気ですか?あなたの犬は何をしていますか$text2....」です。

mail('user@example.com', 'subject', $text);
4

3 に答える 3

1
$allVars = array('text1'=>'some text', 'text2'=>'some other text');

UPD: あなたの場合、 $allVars はデータベースからの $row 配列です。

foreach($allVars as $var=>$value){

   $text = preg_replace("@\\$" . $var . "([^a-zA-Z_0-9\x7f-\xff]|$)@", $value . "\\1", $text);

}

また、 http://php.net/manual/en/function.get-defined-vars.phpを使用することもできます

$allVars = get_defined_vars();
于 2013-05-24T14:23:54.260 に答える
-1

これは単なる文字列の置換です。PHP は文字列内の変数を解析するため、ちょっとしたトリックで強制的に解析しないようにすることができます。

$new_text = str_replace("$"."text1", $text1, $old_text);
于 2013-05-24T14:07:40.317 に答える