TODO: support for images on Twitter.com can be improved
[tweeper.git] / tweeper.php
index 2444a39..a9fce9b 100644 (file)
@@ -213,6 +213,12 @@ class Tweeper {
     return $this->json_to_xml($html, '/window._sharedData = (.*);/', 'instagram');
   }
 
+  private function preprocess_html_facebook_com($html) {
+    $html = str_replace('<!--', '', $html);
+    $html = str_replace('-->', '', $html);
+    return $html;
+  }
+
   private function html_to_xml($html, $host) {
     $xmlDoc = new DOMDocument();
 
@@ -257,6 +263,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;
@@ -274,7 +285,7 @@ class Tweeper {
 
 function is_cli()
 {
-  return (substr(php_sapi_name(), 0, 3) == 'cli');
+  return (php_sapi_name() === "cli");
 }
 
 function usage($argv)
@@ -343,7 +354,7 @@ if (is_cli()) {
 }
 
 if (!isset($options['src_url'])) {
-  fwrite($ERROR_STREAM, usage($argv));
+  fwrite($ERROR_STREAM, usage(is_cli() ? $argv : NULL));
   exit(1);
 }