用HTML电子邮件的WordPress模板中的表格图像替换图像


Replacing images with a tabled image in a WordPress template for HTML email

我正在WordPress中创建一个html电子邮件模板,这样人们就可以使用WP系统创建自己的电子邮件。为了做到这一点,我需要将所有样式创建为内联css。我在处理图像时遇到了问题,因为我需要用表中的图像替换所有图像,以便在通过电子邮件客户端发送时正确对齐。

问题是,这些图像在表中不起作用,因为我不知道如何正确调用它们。

下面是我用来将图像替换为该图像的表绑定版本的代码。

    $content = get_the_content();
apply_filters( 'the_content', $content );
$content = preg_replace( '/(<img[^>]*/>)/', '<table align="right"><tr><td>$1</td></tr></table>', $content); echo $content;

如有任何帮助,我们将不胜感激。

preg_replace语句的两个问题:

1) 您的搜索查找

<img src="image1.jpg" /

然后停在那里。您在最初的grep语句中没有包含图像的尾随>。你的搜索应该是这样的:

'/<img[^>]*>/'

2) 现在,把它包在一组漂亮的括号里

'/(<img[^>]*>)/'

并更改

'<table align="right"><tr><td>', '/<img[^>]*/', '</td></tr></table>'

'<table align="right"><tr><td>$1</td></tr></table>'

当您想要使用刚刚搜索的字符串的一部分时,必须将选定的字符串括在括号中。这允许您使用replace语句中的变量调用来访问字符串。

最后。。。

$content = preg_replace( '/(<img[^>]*>)/', '<table align="right"><tr><td>$1</td></tr></table>', $content);

享受吧!