From 8541e248bb7a5257d568da1be131ff9636adad1d Mon Sep 17 00:00:00 2001 From: Michael Date: Thu, 29 Apr 2021 04:14:44 +0000 Subject: [PATCH] Less greedy when replacing attachment elements --- src/Content/Text/BBCode.php | 2 +- src/Model/Item.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Content/Text/BBCode.php b/src/Content/Text/BBCode.php index 6da5b49058..44ef6e7f1b 100644 --- a/src/Content/Text/BBCode.php +++ b/src/Content/Text/BBCode.php @@ -408,7 +408,7 @@ class BBCode */ public static function removeAttachment($body, $no_link_desc = false) { - return preg_replace_callback("/\s*\[attachment (.*)\](.*?)\[\/attachment\]\s*/ism", + return preg_replace_callback("/\s*\[attachment (.*?)\](.*?)\[\/attachment\]\s*/ism", function ($match) use ($no_link_desc) { $attach_data = self::getAttachmentData($match[0]); if (empty($attach_data['url'])) { diff --git a/src/Model/Item.php b/src/Model/Item.php index f387a1a728..f1ae16a05b 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -1706,7 +1706,7 @@ class Item return ("[bookmark=" . str_replace("#", "#", $match[1]) . "]" . str_replace("#", "#", $match[2]) . "[/bookmark]"); }, $body); - $body = preg_replace_callback("/\[attachment (.*)\](.*?)\[\/attachment\]/ism", + $body = preg_replace_callback("/\[attachment (.*?)\](.*?)\[\/attachment\]/ism", function ($match) { return ("[attachment " . str_replace("#", "#", $match[1]) . "]" . $match[2] . "[/attachment]"); }, $body); @@ -2640,7 +2640,7 @@ class Item } $orig_body = $item['body']; - $item['body'] = preg_replace("/\s*\[attachment .*\].*?\[\/attachment\]\s*/ism", '', $item['body']); + $item['body'] = preg_replace("/\s*\[attachment .*?\].*?\[\/attachment\]\s*/ism", '', $item['body']); self::putInCache($item); $item['body'] = $orig_body; $s = $item["rendered-html"];