tweeper.php: support host-specific methods for preprocessing the HTML data
authorAntonio Ospite <ao2@ao2.it>
Wed, 1 Jul 2015 11:37:57 +0000 (13:37 +0200)
committerAntonio Ospite <ao2@ao2.it>
Mon, 6 Jul 2015 14:58:47 +0000 (16:58 +0200)
Some sites serve mangled HTML code, so a mechanism to clean it up before
loading it as XML is needed.

For instance, facebook.com puts come content inside HTML comments, and
these must be stripped in order to make the content available to the
HTML parser when loading the data into a DOMDocument.

tweeper.php

index 2444a39..efc0fd6 100644 (file)
@@ -257,6 +257,11 @@ class Tweeper {
       return NULL;
     }
 
+    $preprocess_html_host_method = 'preprocess_html_' . str_replace(".", "_", $host);
+    if (method_exists($this, $preprocess_html_host_method)) {
+      $html = call_user_func_array(array($this, $preprocess_html_host_method), array($html));
+    }
+
     $xmlDoc = $this->html_to_xml($html, $host);
     if (NULL === $xmlDoc) {
       return NULL;