在您的网站上提供第三方HTML的最佳方式?

时间:2012-01-21 04:43:31

标签: php html web-applications iframe

我正在构建一个Web应用程序,用户可以在其中构建从其他网页提取内容的自定义网页。我知道这样做的几个选项,我不确定哪个是最好的,如果有更好的解决方案。现在,我可以:

  • 使用iframes,它将完成我想要的任务,但会迫使客户端下载并呈现所有网页内容,这似乎很慢。我听说很多人都说iframe是过时的,不应该用,等等。
  • 使用像wkhtmltopdf这样的库,它将在服务器端呈现html并生成它的pdf图像。这样可以很好地工作,但结果只是一个图像,所以文字不会被选中,链接不会被点击,等等。另外,我听说你可以遇到法律问题未经许可,在您的网站上托管其他人的网页内容。
  • 使用像phpquery这样的东西从字面上删除其他网站的内容。此选项可能与上述选项具有相同的法律问题。

有没有人这样做过,或者有没有人有任何想法?

2 个答案:

答案 0 :(得分:1)

最干净的解决方案是从http请求服务器端发送,然后根据需要将html呈现到您的页面中,这还需要将所有内容和链接的URL更改为绝对

例如:

<img src="\images\banner.png"> 

将在远程服务器上运行,但一旦进入页面,图像将不存在。最可行的解决方案是限制图像和链接的功能,然后使用正则表达式进行查找/替换以匹配相对URL并将源地址添加到其中。

如果您要从服务器重新发送其他人的内容,即使只是html,您也会遇到法律问题。

使用iframe将是快速的脏解决方案,并且可能具有最少的法律后果,因为浏览器向网站发送内容的正常请求。

答案 1 :(得分:0)

我建议使用DocRaptor从HTML生成PDF文件。它的工作方式与wkhtmltopdf类似,但可生成功能齐全的PDF文件。

以下是其主页的链接:

http://docraptor.com/

其API文档的链接:

http://docraptor.com/documentation