【问题标题】:Using quotes and variables in PHP - issues with image uri and variable in an echo function在 PHP 中使用引号和变量 - 回显函数中的图像 uri 和变量问题
【发布时间】:2014-04-09 20:25:24
【问题描述】:

我正在使用的 PHP 开发人员使用此代码在电子邮件中生成 X 个图像 -

         <?php
            foreach ($viewerPhotos as $photo) {
                echo sprintf('<div style="$photoBgCss"><img src="%s" style="border:0;vertical-align: middle;" alt="User photo" width="77" height="77" border="0" /></div>', $photo);
            }
         ?>

我在图像和样式属性周围添加了 div。与 $photoBgCss 相关的样式是 -

$photoBgCss = "background-image: url('$staticUrl/images/general/email/photo-bg.png');
        background-repeat: no-repeat;
        background-position: 0 0;
        display:inline-block;
        margin-right:1%;
        padding: 6px 0 15px 0;
        text-align: center;
        width: 89px;";

当我给自己发送一封测试电子邮件时,背景图片无法解析。我知道这与引号和/或 () 有关。我尝试了几种方法,但没有找到解决方案。任何帮助表示赞赏。

编辑:我在下面提到了这是一条评论,但在这里它会更具可读性...我尝试在 div 上添加内联背景图像但仍然有问题 -

echo sprintf('<div style="background-image: url('$staticUrl/images/general/email/one-photo-bg.png');"><img src="%s" style="border:0;vertical-align: middle;" alt="User photo" width="77" height="77" border="0" /></div>', $photo);

【问题讨论】:

  • 你在字符串的开头缺少一个
  • 在该循环中有趣地使用 sprintf。无论如何,那行是错误的,它不会用变量的内容替换 $photoBgCss 。正如芭芭拉所说,它也是无效的 HTML。
  • 芭芭拉,谢谢你的收获。我纠正了这一点。现在,我也尝试像这样添加内联背景,但仍然遇到问题 - echo sprintf('
    ', $photo);

标签: php css html-email


【解决方案1】:

你错过了一个

     <?php
        foreach ($viewerPhotos as $photo) {
            echo sprintf('div style="$photoBgCss"><img src="%s" style="border:0;vertical-align: middle;" alt="User photo" width="77" height="77" border="0" /></div>', $photo);
           // Right here ^
        }
     ?>

检查:

     <?php
        foreach ($viewerPhotos as $photo) {
            echo sprintf('<div style="$photoBgCss"><img src="%s" style="border:0;vertical-align: middle;" alt="User photo" width="77" height="77" border="0" /></div>', $photo);
        }
     ?>

为此:

$photoBgCss = "background-image: url('$staticUrl/images/general/email/photo-bg.png');
    background-repeat: no-repeat;
    background-position: 0 0;
    display:inline-block;
    margin-right:1%;
    padding: 6px 0 15px 0;
    text-align: center;
    width: 89px;";

我更喜欢:

$photoBgCss = "background-image: url('" . $staticUrl . "/images/general/email/photo-bg.png');
    background-repeat: no-repeat;
    background-position: 0 0;
    display:inline-block;
    margin-right:1%;
    padding: 6px 0 15px 0;
    text-align: center;
    width: 89px;";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-24
    • 1970-01-01
    相关资源
    最近更新 更多