2011-07-05 7 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

관련 문제