我已经将以下内容作为模板用于电子邮件。我正在使用phpmailer将其邮寄出来,但是由于它们与php冲突,我对样式标签开始和结束的方式存在问题。如果我浏览他们的模板,我可以将所有样式移动到一个seporate样式表或使用类并将样式放在页面的顶部,但除非我真的需要,否则我不想这样做。
以下是代码出错的一般示例。字体名称包含在“s中,因此样式的开始和结束标记都是,这些与php的开始和结束标记发生冲突。我似乎无法找到绕过它的方式,就好像我放了一样, style =“”font-name“,”another-font“”这不会起作用,如果我在所有php中使用的话就会搞砸了。
正在发生的事情是在php邮件中,表单内容被声明为
$body = '<span style='font-size: 13.5pt;font-family:"Georgia","serif";color:white'>some content</span></html>';
答案 0 :(得分:4)
你需要逃避你的报价。例如:
$body = '<div style=\'background:#000;\'><p>srs business here</p></div>';
答案 1 :(得分:0)
您也可以使用HEREDOC(http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc)。这将为您节省大量凌乱的代码。 示例:
$string = <<<SOMELABEL
Here you can put your <span style='font-family: arial, helvetica, sans-serif'>formatted code</span>
SOMELABEL;
然后:
$body = $string;
答案 2 :(得分:0)
不要这样做。
你的问题不是在PHP中使用HTML / CSS,只是你的字符串基本上是非串联的,你需要像@ddubs所说的那样转义引号。
但是,详细说明“不要这样做”,你不应该像这样混合你的HTML和PHP代码。虽然它当然不是必需的,但你应该尽可能地将你的逻辑从表示中分离出来。
您可以使用结束标记跳出PHP,然后在需要时跳回来,例如(基于您的):
// code code code ...
?>
<span style="font-size: 13.5pt; font-family: 'Georgia', serif; color: white">
<?php echo $variable_from_code ?>
</span></html>
虽然我在整个十字军东征中,你也不应该真正使用内联样式; - )