H5P Extractor

This is a proof of concept for rendering H5P content server-side. That means that the content is extracted and displayed without using JavaScript or H5P. So, even though your browser is going to display something that just looks like normal H5P content, it is not. It is just a static representation. That representation could take on various formats, such as HTML or plain text. Why would you want to do this?

The library that is powering this proof of concept expects an H5P file as input. Here you can upload that file, but the information could as well be coming from a database or any other source. You also do not have to display the extracted (HTML) content on a web page as done here, but you can process the HTML code however you like. If you have a use case, you can use the library directly on your own page, put it into some plugin, or build a web service around it. The library is not dependent on any CMS or framework. It is just a PHP library (because of the main goal of becoming part of a particular WordPress plugin) that can be used using "composer". The "generators" to render H5P content in a specific output format are modular, so you can add your own generator for a specific output format (beyond HTML and plain text) and for a specific H5P content type.

Again, please note that this is not H5P content - even though the rendered HTML output looks like it. It is just a static representation, so not interactive, not necessarily scaling, accessible, etc. The representation does not need to be - just in case you wonder and suspect a bug ... :-) Please also note that not all features of the content may be supported, as the main purpose of the HTML is printing it, not to create a 1:1 copy.


Try to upload one of these and see what happens ...

Supported H5P content types as a proof of concept are:

Rendered HTML output

Plain text output