我一直在研究类似的问题,但是我仍然有点不清楚是否有可能和/或使用PHP 5.2.6在preg_replace_callback中传递额外参数的最佳方法
在这种情况下,我还希望将$ key从foreach循环传递给if_replace函数.
public function output() {
if (!file_exists($this->file)) {
return "Error loading template file ($this->file).<br />";
}
$output = file_get_contents($this->file);
foreach ($this->values as $key => $value) {
$tagToReplace = "[@$key]";
$output = str_replace($tagToReplace, $value, $output);
$dynamic = preg_quote($key);
$pattern = '%\[if @'.$dynamic.'\](.*?)\[/if\]%'; // produces: %\[if @username\](.*?)\[/if\]%
$output = preg_replace_callback($pattern, array($this, 'if_replace'), $output);
}
return $output;
}
public function if_replace($matches) {
$matches[0] = preg_replace("%\[if @username\]%", "", $matches[0]);
$matches[0] = preg_replace("%\[/if]%", "", $matches[0]);
return $matches[0];
}
Run Code Online (Sandbox Code Playgroud)
想知道这样的事情是否有效:
class Caller { …Run Code Online (Sandbox Code Playgroud) 我试图阻止iPhone调整HTML电子邮件的大小以适应屏幕的问题.看来下面的代码放入该部分时没有任何效果.
我的目标只是停止字体重新调整大小.我尝试过使用-webkit-text-size-adjust:none; 内联和其他方式,都没有成功.
grealty会欣赏任何建议或替代解决方案.
@media屏幕和(max-device-width:480px){
Run Code Online (Sandbox Code Playgroud)/*fixes too big font in mobile Safari*/ html, body, form, fieldset, p, div, h1, h2, h3, h4, h5, h6 { -webkit-text-size-adjust:none; } } </style>
在HTML电子邮件中使用Google Webfonts我在Outlook(2007,2010等)中遇到了在合并webfonts之前没有出现的字体替换问题.它忽略了字体堆栈并直接进入Times.
尽管使用内联回退字体堆栈,但仍会发生这种情况.
我已经注意到之前发布的类似问题,但仅作为一般性问题,与webfonts的使用无关.以前所有的字体回退都可以正常工作.我正在使用Litmus进行电子邮件测试.
有谁知道为什么会发生这种情况?
链接到Litmus:https://litmus.com/pub/53a33c7/screenshots
最初在CSS中链接的字体如下:
<link href='http://fonts.googleapis.com/css?family=Arvo|Droid+Serif:400,700,400italic,700italic|Roboto:300' rel='stylesheet' type='text/css'>
Run Code Online (Sandbox Code Playgroud)
在另一个答案中看到可能的解决方案后,我也尝试使用@ font-face和自托管文件,但它不起作用(我也更新了类名):
除了font-face尝试的解决方法:
<!--[if !mso]><!-->
@font-face {
font-family: 'droid_serif';
src: url('http://www.suissamesser.com/emails/rsdsa/DroidSerif-webfont.eot');
src: url('http://www.suissamesser.com/emails/rsdsa/DroidSerif-webfont.eot?#iefix') format('embedded-opentype'),
url('http://www.suissamesser.com/emails/rsdsa/DroidSerif-webfont.svg#droid_serif') format('svg'),
url('http://www.suissamesser.com/emails/rsdsa/DroidSerif-webfont.woff') format('woff'),
url('http://www.suissamesser.com/emails/rsdsa/DroidSerif-webfont.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
<!--<![endif]-->
Run Code Online (Sandbox Code Playgroud)
Outlook特定的覆盖CSS似乎有效,但存在优先级问题.我不相信Outlook认可!重要声明所以我一直在努力寻找更具体的选择.但是,我仍然不明白为什么会发生这种情况,如果有更简单的解决办法.
Outlook字体覆盖摘录:
<!--[if gte mso 9]>
<style>
/* Target Outlook 2007 and 2010 */
h1 { font-family: 'Georgia',serif !important; font-weight:normal; }
h1 a { font-family: 'Georgia',serif !important; font-weight:normal; }
h2 { font-family: 'Trebuchet MS',arial, helvetica, sans-serif; font-weight:normal; …Run Code Online (Sandbox Code Playgroud) 是否有任何基本的HTML/CSS/JavaScript调试工具可以帮助识别拼写错误?
有时"#fron"应为"#from".我不是在谈论代码本身,而是讨论类名和id这样的东西.
我知道有强大的IDE,但只是想知道是否有一些我根本不知道的相当基本的工具或扩展.
在我发布问题之前,我尝试彻底检查代码,但我是我自己最差的校对员.
我们在尝试在 PHP 中创建 vcard 时遇到了字符编码问题。
在 Outlook 中,使用特殊字符的名称会被扭曲,例如“é”变成了“é”。
我们更新了 Windows 字符编码的标题和 FN 和 N 部分,但问题仍然存在。
感谢任何建议。
电子名片摘录:
BEGIN:VCARD
VERSION:3.0
REV:2013-03-27 19:37:46
FN;CHARSET=Windows-1252:Namé S. Nameé
N;CHARSET=Windows-1252:Namé;Namé;;;
TITLE:Associate
ORG:Company
EMAIL;TYPE=internet,pref:name@abc.com
TZ:-0400
END:VCARD
Run Code Online (Sandbox Code Playgroud)
Vcard 的 PHP 头文件:
header("Content-type: text/x-vcard; charset=windows-1252;");
header("Content-Length: ".strlen($vc->card));
header("Content-Disposition: attachment; filename=".$vcard_name.".vcf");
header("Pragma: public");
Run Code Online (Sandbox Code Playgroud) 无意中我的htaccess脚本正在更改图像URL,以便在其URL路径中具有"portfolio /"的任何图像受到不利影响.
有没有办法从该特定规则中排除图像?
redirect 301 "/sitemap.xml" http://www.example.com/sitemap.php
RewriteEngine On
RewriteCond %{REQUEST_URI} !portfolio/project
RewriteCond %{REQUEST_URI} /.*portfolio/.*$ [NC]
RewriteRule ^(.*)portfolio(.*)$ /$1portfolio/project$2 [R=301,L]
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/sitemap.php
RewriteRule ^(.*)$ /index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud) 我一直无法找到允许我根据“棒球”等搜索词导出 Gmail 收件箱电子邮件的插件或工具。
最终,我想将所有电子邮件导出为 PDF。
我没有找到很多选项,我看过的一个是 MailExporter,但它似乎没有我需要的搜索能力。
我已经安装了Foundation并且正在工作,但我正在尝试在同一个项目中使用Compass CSS3 mixins,似乎无法弄清楚如何包含它们.
我认为指南针已经安装,因为在设置我输入的基础之前:
gem install compass我在使用SASS时遇到compass watch项目文件夹.所有Foundation mixins似乎都用Compass编译SCSS.
我创建了一个新的指南针项目并合并了SCSS文件,然后尝试添加:
@import "compass/css3"
Run Code Online (Sandbox Code Playgroud)
任何有关我应该在命令行中运行或添加到文件中以访问这些混音的帮助将不胜感激.
我在这里和其他地方都看到了一种建议的方法,用于设置条件注释以与Outlook.com一起使用,但是由于下面详细介绍了另一个已知问题,因此我收到的电子邮件为空。引用下面的两个代码示例,我想看看是否有人有解决此问题的可靠方法。
第一个例子:
<!--[if mso]><!-- -->
<style type="text/css">
#learn-left { width: 350px; max-width: 350px; }
#learn-right { width: 165px; max-width: 165px; }
</style>
<!--<![endif]-->
Run Code Online (Sandbox Code Playgroud)
即使上面的其他文章引用了<!--[if mso]><!-- -->适用于Outlook.com的代码,上述代码也导致Outlook.com中的空白屏幕。我知道在注释中包含任何HTML标签会存在任何问题,但是如果将条件style标记与标签一起放置,则它也不起作用。奇怪的是,以下代码似乎在一定程度上可以正常工作。
<!--[if mso]><!-- -->
<style type="text/css">
#learn-left { width: 350px; max-width: 350px; }
#learn-right { width: 165px; max-width: 165px; }
</style>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
我还应注意,我拥有此代码的原因是为了与Outlook 2000和2003兼容,所以我不能将媒体查询用作替代解决方案。
我想合并来自两个不同表的结果,它们唯一的共同点是名为date_mod的日期字段
下面的查询仅显示第一个select语句中的两列.未显示profile_id列.
有关如何调整它的任何帮助,以便我可以根据date_mod字段的顺序将这两个表的最新结果组合起来.
SELECT resume_id, date_mod FROM resumes ORDER BY date_mod
UNION ALL
SELECT profile_id, date_mod FROM profiles ORDER BY date_mod LIMIT 5
Run Code Online (Sandbox Code Playgroud) css ×4
html ×3
html-email ×3
email ×2
outlook ×2
php ×2
.htaccess ×1
compass-sass ×1
email-client ×1
gmail ×1
iphone ×1
javascript ×1
mod-rewrite ×1
mysql ×1
sass ×1
sql ×1
vcf-vcard ×1