I’m building a web app where users can build custom web pages that pull content from other web pages. I know of a few options for doing this, and I’m not sure which is best, and if there are better solutions out there. Right now, I could:
- Use iframes, which will (sort of) accomplish what I want, but will force the client to download and render all the web content, which seems slow. I’ve heard a lot of people say iframes are passe and should not be used, etc.
- Use a library like wkhtmltopdf, which will render the html on the server side and generate a pdf image of it. This would work nicely, but the result is just an image, so text won’t be selectable, links won’t be clickable, etc. Also, I’ve heard that you can get in legal trouble for hosting other people’s web content on your site without permission.
- Use something like phpquery to literally scrape content off of other sites. This option could have the same legal issues as the above option.
Has anyone done anything like this, or does anyone have any thoughts?
The cleanest solution would be send off a http request server side, then render the html into your page as you require, this will also require changing all the urls of content and links to be absolute
eg:
will work on the remote server, but once inside your page, the image will not exist. The most workable solution would be limit the functionality to images and links, then do a find / replace with regex to match relative urls and add the source address to it.
You will however run into legal issues if you are resending other peoples content from your server, even just html.
Using an iframe would be the quick dirty solution and probably have the least legal ramifications, as the browser sends a normal request to the site for the content.