2011-07-05 10 views
1

私はHTMLの電子メールレイアウトを保存しているmysqlバイナリテーブルを持っています。このレイアウトでは、レイアウトが呼び出されるページに配置されたタグを配置したいと思います。タグ以外は表示できないようです。

例:MySQLデータベースから呼び出さ

- >

$sql_result = 'The property name is $prop_name.'; 

$message = <<<EOF 
$sql_result 
EOF; 

私はページをロードすると、それは$prop_nameの代わりに、以前のスクリプトで定義されている実際の名前で結果をメールでお知らせいたします。ページ上の表示は、事前に定義された$prop_name変数に対して機能しますが、電子メールで送信された部分には表示されません。同じページに結果をエコーし​​たりプリントしたりしても、以前に定義された呼び出しの代わりに$prop_nameが置かれます。変数をデータベースから呼び出すときに定義済みの定義を表示するにはどうすればよいですか?

+0

私はユーザーが編集できる電子メールテンプレートを作成しようとしています。事前に定義された変数やタグを挿入することで、ページが表示されたときに画面に表示されたプロパティ名のようなものを電子メールで送信します。 – MrWizard

+0

一重引用符を二重引用符に変更すると、値がある限り、 '$ prop_name'は正しく置換されます。 –

答えて

1

「プロパティ名は$ prop_nameです」をプルするとデータベースからは純粋なテキストだけです。あなたの$ prop_name変数で$ prop_nameを変更することはありません。

テキストを置き換えるだけです。したがって

$prop_name = "Finca el Otero"; 
$output = str_replace('$prop_name', $prop_name, $sql_result); 
echo $output; 

これが$で、prop_name変数の内容を(あなたの$ sql_result変数のように)テキスト内の$で、prop_nameアンカーを交換します。

+0

ありがとう!私はそれがテキストであるだけでなく、それを修正する方法を考え出すことができないと考えました..本当に助けてくれてありがとう! – MrWizard

+0

ようこそ。私の答えに正しいとフラグを立てることを忘れないでください(私の答えの左側にあるVをチェックしてください)。 – Jules

関連する問題