]> git.immae.eu Git - github/shaarli/Shaarli.git/blobdiff - index.php
Improve annoying URL parameters cleaning:
[github/shaarli/Shaarli.git] / index.php
index d7140409520cf846d36ded93bbd58fdd2133f4f5..0b507b455ca2503d3456366fe449d4a7c2f4af89 100644 (file)
--- a/index.php
+++ b/index.php
@@ -1642,15 +1642,13 @@ function renderPage()
     {
         $url=$_GET['post'];
 
-        // We remove the annoying parameters added by FeedBurner and GoogleFeedProxy (?utm_source=...)
-        $i=strpos($url,'&utm_source='); if ($i!==false) $url=substr($url,0,$i);
-        $i=strpos($url,'?utm_source='); if ($i!==false) $url=substr($url,0,$i);
-        $i=strpos($url,'#xtor=RSS-'); if ($i!==false) $url=substr($url,0,$i);
-        $i=strpos($url,'?fb_'); if ($i!==false) $url=substr($url,0,$i);
-       $i=strpos($url,'?__scoop'); if ($i!==false) $url=substr($url,0,$i);
-       $i=strpos($url,'#tk.rss_all?'); if ($i!==false) $url=substr($url,0,$i);
-       $i=strpos($url,'?utm_campaign='); if ($i!==false) $url=substr($url,0,$i);
-       $i=strpos($url,'?utm_medium='); if ($i!==false) $url=substr($url,0,$i); 
+
+        // We remove the annoying parameters added by FeedBurner, GoogleFeedProxy, Facebook...
+        $annoyingpatterns = array('/[\?&]utm_source=[^&]*/', '/[\?&]utm_campaign=[^&]*/', '/[\?&]utm_medium=[^&]*/', '/#xtor=RSS-[^&]*/', '/[\?&]fb_[^&]*/', '/[\?&]__scoop[^&]*/', '/#tk\.rss_all\?/');
+        foreach($annoyingpatterns as $pattern)
+        {
+            $url = preg_replace($pattern, "", $url);
+        }
 
         $link_is_new = false;
         $link = $LINKSDB->getLinkFromUrl($url); // Check if URL is not already in database (in this case, we will edit the existing link)