]> git.mxchange.org Git - friendica.git/commitdiff
Improve BBCode:toPlaintext
authorHypolite Petovan <hypolite@mrpetovan.com>
Sun, 4 Aug 2019 14:22:23 +0000 (10:22 -0400)
committerHypolite Petovan <hypolite@mrpetovan.com>
Sun, 4 Aug 2019 14:22:23 +0000 (10:22 -0400)
- Fix issue where matching literal square brackets were removed with their content
- Fix issue where content without line feeds between BBCode tags would end up compacted in plain text
- Update extr calls to BBCode::toPlaintext in api

include/api.php
src/Content/Text/BBCode.php

index 543c0182796b7ad5f5d21483643a4efcd2cce971..a7d25c83f0b8e7ed22207d56911d49f2ab1a64ac 100644 (file)
@@ -614,7 +614,7 @@ function api_get_user(App $a, $contact_id = null)
                                'name' => $contact["name"],
                                'screen_name' => (($contact['nick']) ? $contact['nick'] : $contact['name']),
                                'location' => ($contact["location"] != "") ? $contact["location"] : ContactSelector::networkToName($contact['network'], $contact['url']),
-                               'description' => HTML::toPlaintext(BBCode::toPlaintext($contact["about"])),
+                               'description' => BBCode::toPlaintext($contact["about"]),
                                'profile_image_url' => $contact["micro"],
                                'profile_image_url_https' => $contact["micro"],
                                'profile_image_url_profile_size' => $contact["thumb"],
@@ -693,7 +693,7 @@ function api_get_user(App $a, $contact_id = null)
                'name' => (($uinfo[0]['name']) ? $uinfo[0]['name'] : $uinfo[0]['nick']),
                'screen_name' => (($uinfo[0]['nick']) ? $uinfo[0]['nick'] : $uinfo[0]['name']),
                'location' => $location,
-               'description' => HTML::toPlaintext(BBCode::toPlaintext($description)),
+               'description' => BBCode::toPlaintext($description),
                'profile_image_url' => $uinfo[0]['micro'],
                'profile_image_url_https' => $uinfo[0]['micro'],
                'profile_image_url_profile_size' => $uinfo[0]["thumb"],
index b2d4ebb5d7e3568f03f875083a37546ccaf40b8f..b012e79fb2fb7fa5b025a542387e793eddf6f336 100644 (file)
@@ -357,10 +357,7 @@ class BBCode extends BaseObject
         */
        public static function toPlaintext($text, $keep_urls = true)
        {
-               $naked_text = preg_replace('/\[.+?\]/','', $text);
-               if (!$keep_urls) {
-                       $naked_text = preg_replace('#https?\://[^\s<]+[^\s\.\)]#i', '', $naked_text);
-               }
+               $naked_text = HTML::toPlaintext(BBCode::convert($text, false, 0, true), 0, !$keep_urls);
 
                return $naked_text;
        }