]> git.mxchange.org Git - friendica.git/blobdiff - include/items.php
Corrected variable name
[friendica.git] / include / items.php
index f4bab4b8fc9f4edc206071976a750f969d78c8f2..582fbb0933313ca180eae83b4a27029900a0e0e1 100644 (file)
@@ -103,8 +103,7 @@ function add_page_info_data(array $data, $no_photos = false)
                $hashtags = "\n";
                foreach ($data["keywords"] as $keyword) {
                        /// @TODO make a positive list of allowed characters
-                       $hashtag = str_replace([" ", "+", "/", ".", "#", "'", "’", "`", "(", ")", "„", "“"],
-                                               ["", "", "", "", "", "", "", "", "", "", "", ""], $keyword);
+                       $hashtag = str_replace([' ', '+', '/', '.', '#', '@', "'", '"', '’', '`', '(', ')', '„', '“'], '', $keyword);
                        $hashtags .= "#[url=" . DI::baseUrl() . "/search?tag=" . $hashtag . "]" . $hashtag . "[/url] ";
                }
        }
@@ -145,24 +144,43 @@ function query_page_info($url, $photo = "", $keywords = false, $keyword_blacklis
 function add_page_keywords($url, $photo = "", $keywords = false, $keyword_blacklist = "")
 {
        $data = query_page_info($url, $photo, $keywords, $keyword_blacklist);
+       if (empty($data["keywords"]) || !is_array($data["keywords"])) {
+               return '';
+       }
 
        $tags = "";
-       if (isset($data["keywords"]) && count($data["keywords"])) {
-               foreach ($data["keywords"] as $keyword) {
-                       $hashtag = str_replace([" ", "+", "/", ".", "#", "'"],
-                               ["", "", "", "", "", ""], $keyword);
+       foreach ($data["keywords"] as $keyword) {
+               $hashtag = str_replace([" ", "+", "/", ".", "#", "'"],
+                       ["", "", "", "", "", ""], $keyword);
 
-                       if ($tags != "") {
-                               $tags .= ", ";
-                       }
-
-                       $tags .= "#[url=" . DI::baseUrl() . "/search?tag=" . $hashtag . "]" . $hashtag . "[/url]";
+               if ($tags != "") {
+                       $tags .= ", ";
                }
+
+               $tags .= "#[url=" . DI::baseUrl() . "/search?tag=" . $hashtag . "]" . $hashtag . "[/url]";
        }
 
        return $tags;
 }
 
+function get_page_keywords($url, $photo = "", $keywords = false, $keyword_blacklist = "")
+{
+       $data = query_page_info($url, $photo, $keywords, $keyword_blacklist);
+       if (empty($data["keywords"]) || !is_array($data["keywords"])) {
+               return [];
+       }
+
+       $taglist = [];
+       foreach ($data['keywords'] as $keyword) {
+               $hashtag = str_replace([" ", "+", "/", ".", "#", "'"],
+                       ["", "", "", "", "", ""], $keyword);
+
+               $taglist[] = $hashtag;
+       }
+
+       return $taglist;
+}
+
 function add_page_info($url, $no_photos = false, $photo = "", $keywords = false, $keyword_blacklist = "")
 {
        $data = query_page_info($url, $photo, $keywords, $keyword_blacklist);