将PHP页面转换为静态HTML页面的最简单方法
我想转换一个网页,这是严重的CSS样式是用PHP编写的静态html,以便我可以嵌入到电子邮件中 我已经设法做到了这一点,但为了实现这一点,我必须将整个页面转换为字符串,然后将该字符串指定为电子邮件正文。页面的布局看起来不像原来的那么好,因为我没有嵌入CSS 这种方法有一些问题,比如如果必须对页面的布局进行任何更改,我必须重新执行生成可嵌入页面的整个过程将PHP页面转换为静态HTML页面的最简单方法,php,html,email,xhtml,static,Php,Html,Email,Xhtml,Static,我想转换一个网页,这是严重的CSS样式是用PHP编写的静态html,以便我可以嵌入到电子邮件中 我已经设法做到了这一点,但为了实现这一点,我必须将整个页面转换为字符串,然后将该字符串指定为电子邮件正文。页面的布局看起来不像原来的那么好,因为我没有嵌入CSS 这种方法有一些问题,比如如果必须对页面的布局进行任何更改,我必须重新执行生成可嵌入页面的整个过程 我想要一种更简单的方法,使我能够在Dreamweaver中直观地保持原始页面的可编辑性。这是一件很难自动完成的事情,原因如下: 如果你认为浏览器
我想要一种更简单的方法,使我能够在Dreamweaver中直观地保持原始页面的可编辑性。这是一件很难自动完成的事情,原因如下:
因此,有多种方法可以做到这一点,比如使用cURL获取网页,使用输出缓冲通过require/include捕获网页,等等,但所有这些方法都会遇到上述一个或多个问题。我通常发现处理HTML电子邮件的唯一方法是手动滚动。您可以使用输出缓冲区。如果您有一个html页面,例如:
<html>
<head>
<title>Blah</title>
</head>
<body>
Some text here
</body>
</html>
废话
这里有一些文字
然后,如果在html文件的顶部放置:
<?php ob_start(); ?>
在底部,在最后一个标签后,放置:
<?php
$string = ob_get_contents();
//do whatever you need to do to the html, save it to a seperate file, email it, etc
ob_flush();
?>
这基本上意味着$string变量在动态生成后,将以页面的整个静态html结束。然后,您可以在电子邮件中使用该字符串。尽管事实上,html页面在电子邮件中的工作方式并不完全相同,所以您可能需要重新考虑这种方法。只需在php页面中执行此操作即可 将此项放在要开始捕获输出的位置: 把这个放在php的底部 $HtmlCode=ob_get_contents(); ob_end_flush() $fh=fopen('index.html','w'); fwrite($fh,$HtmlCode) fclose($fh) ?> 然后重定向到html页面
只需在php页面中执行此操作 将此项放在要开始捕获输出的位置: ob_start() 把这个放在php的底部 $HtmlCode=ob_get_contents(); ob_end_flush() $fh=fopen('index.html','w'); fwrite($fh,$HtmlCode) fclose($fh) 然后重定向到html页面
这个问题是问“如何获得php页面的静态输出”还是“如何设置html格式以在电子邮件中工作?”这两个答案针对不同的问题。这对我来说是个坏消息。我已经做了艰苦的工作,用手把所有的东西都转换了,但是我们的客户坚持要求每隔几天更改一些布局。这就成功了。谢谢你的提示。你帮我省了几个小时的脑力活。