동적 인 body-field가있는 메일 스크립트를 사용하기 때문에 관리자는 자신의 BODY를 만들 수 있습니다. 그러나 몸에는 몇 가지 변수가 필요합니다. 관리자 사용자의 입력의
예 :
친애 [이름] [기업]
이 텍스트를 등록 감사에서이 테이블에 삽입됩니다. 그러나 이제 자동 입력 메일을 만들기 위해이 입력을 사용하고 싶습니다. 그래서 $ 본문의 내용이 있어야한다 : $ 회사에서
친애 $ 이름이 내 코드입니다
를 등록 감사 :
$inserted_text = addslashes($_POST['inserted_text']);
$patterns = array();
$patterns[0] = '/[name]/';
$patterns[1] = '/[company]/';
$replacements = array();
$replacements[1] = '$name';
$replacements[0] = '$company';
$inserted_text_dynamic = (preg_replace($patterns, $replacements, $inserted_text));
$body = <html><head>...</head><body> $inserted_text_dynamic </body>
mail($to, $subject, $body, $headers);
그러나 출력이 잘못? 내 $ body에 $ name과 같은 콘텐츠를 어떻게 관리 할 수 있습니까?
정규 표현식'/ [name]// [company] /'는 예상 한대로하지 않을 수도 있습니다. 대괄호를 이스케이프해야합니다. 그렇지 않으면 regexp 문자 클래스입니다. '/ \ [name \] /' –
패턴이 예상 한 것과 일치하지 않습니다. 당신은 더 나은 결과를 인용 할 것입니다. 또한 색인이 혼합되어 있습니다. 이런 경우 템플릿 언어를 사용하는 것이 좋습니다. –
여기서'preg_replace()'를 사용할 필요가 없습니다 - 평범한 오래된 ['str_replace()'] (http://us2.php.net/manual/en/function.str-replace.php) 지원 '[name]'과 같은 정적 대체물에 더 적절하게 사용됩니다. –