我无法读取文件并将其用作 PHP 中的模板。下面粘贴了我的部分代码。由于某种原因,它永远不会在字符串中找到 $$USER_NAME$$,因此它永远不会替换。我还在下面粘贴了模板的开头部分。
$filename = "email/templates/welcome.txt";
$file = fopen($filename, "r")
$body = fread($file, filesize($filename));
fclose($file);
$body = str_replace("$$USER_NAME$$", "John Doe", $body);
print($body);
模板:
<p>
<img src="emailPic" alt="Logo" />
</p>
<p>Dear $$USER_NAME$$,</p>
<p>Thank you for registering to attend $$EVENT_NAME$$. We look forward to helping you reach your networking goals at $$EVENT_SHORT_NAME$$.
</p>...
关于为什么在模板中找不到 $$USER_NAME$$ 有什么想法吗?
最佳答案
尝试使用单引号:
$body = str_replace('$$USER_NAME$$', 'John Doe', $body);
否则 $
符号会被 PHP 解释(只需尝试执行 echo "$$USER_NAME$$"
以了解 PHP 会将其解释为 echo $$USER_NAME."$$"
或类似的东西)。
如果您仍想使用双引号,也可以通过转义 $
来解决问题:
$body = str_replace("\$\$USER_NAME\$\$", "John Doe", $body);
检查 PHP manual page on Strings了解 PHP 中单引号 和双引号 字符串之间的区别。
关于PHP 使用 HTML 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8690137/