簡體   English   中英

PHP和CSS引用問題

[英]PHP and CSS quotes issue

HY,

我的報價有問題。 我正在制作一個html郵件通訊,這是一場噩夢。 我已經閱讀了很多關於如何解決這個問題,但沒有什么是行不通的。 我試過沒有引號,用\\ ......什么都行不通(也許我做錯了)。

所以,讓我們說這是代碼:

echo '<td style="
    background-image:url(?http://x/y/image.png?);
                "
      </td>';

- 使用什么報價

如果你想要引用它應該是這樣的,但在這種情況下你並不真正需要它們。 如果您使用單引號打開,則必須轉義字符串中的所有單引號。

echo '<td style="
    background-image:url(\'http://x/y/image.png\');
                "
      </td>';

據我所知,hss郵件中的css非常有限,特別是定位。 但我可能是錯的。

CSS中的引號對於后台url是可選的 - 所以只需省略它們即可。

這是一個類似的問題,有更多的信息: 引用url()的值真的有必要嗎?

此外,你可以通過在他們面前放一個\\來逃避你的報價,例如url(\\'http://www.domain.com\\')

至於HTML郵件問題。 最好的標准是堅持使用表格和內聯樣式CSS。 我會避免任何相對/絕對定位。 即使某些電子郵件客戶端可能正確顯示它,但並非所有人都會。 因此最好盡可能保持一致並避免某些標記。

轉義示例代碼中的單引號,如下所示:

echo '<td style="
    background-image:url(\'http://x/y/image.png\');
                "
      </td>';

在引號之前使用\\來轉義字符串的結尾:

echo '<td style="
    background-image:url(\'http://x/y/image.png\');
                "
      </td>';

引號是可選的: 引用url()的值真的有必要嗎?

但是,你可以逃脫它們:

echo "<td style=\"url('example.com')\"";

要么

echo '<td style="url(\'example.com\')";

我不認為這是選擇正確報價的問題。 正如許多其他人已經指出的那樣,引號是可選的,或者,您可以簡單地轉義引號,它仍然有效。

我認為問題是並非所有郵件客戶端都支持background-image ,特別是Microsoft Outlook 2007+甚至Outlook.com 都不支持它。

我建議在電子郵件客戶端的CSS支持級別上查閱以下資源。

您可能想要嘗試的一種解決方法是使用background而不是background-image

此外,如果您在構建HTML電子郵件時遇到問題,可能需要嘗試https://www.mailrox.com/ 我自己沒有嘗試過,所以不能評論產品有多好。

你不需要在css url()引用。

您可以嘗試使用以下方法:

echo <<<HTML
     <td style="background-image:url('image/url/here.jpg');">Table Data</td>
HTML;

如果您的筆記確定如何使用它,請查看PHP EOD: PHP.net字符串

還要確保在電子郵件標題中設置了正確的內容類型和字符集(例如$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\\r\\n"; )以及PHP取決於您使用新聞稿模板的方式。

在創建電子郵件時,CSS可能會受到限制,因為郵件客戶端的變化遠遠超過瀏覽器,有些人比其他客戶端支持更多。 試一試,一定要檢查多個瀏覽器和電子郵件客戶端。

希望這可以幫助。

萊昂。

你應該使用heredoc語法。

echo<<<EOT
    <td style="background-image:url(?http://x/y/image.png?);"
      </td>
EOT;

當您需要使用變量時,以及需要打印引號時,這非常有用。

確保沒有其他東西在EOT線上,否則無效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM