我正在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);
享受吧!