From f80440f547094bf61fc4091f267a39fd55bc9987 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim=20D=C3=BCsterhus?= Date: Mon, 24 Aug 2020 14:08:58 +0200 Subject: [PATCH] vB5: Fix import of double quoted URLs --- files/lib/system/exporter/VB5xExporter.class.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/files/lib/system/exporter/VB5xExporter.class.php b/files/lib/system/exporter/VB5xExporter.class.php index f256f29..2080296 100644 --- a/files/lib/system/exporter/VB5xExporter.class.php +++ b/files/lib/system/exporter/VB5xExporter.class.php @@ -757,6 +757,8 @@ class VB5xExporter extends AbstractExporter { private static function fixBBCodes($message) { static $quoteRegex = null; static $quoteCallback = null; + static $urlRegex = null; + static $urlCallback = null; static $imgRegex = null; static $mediaRegex = null; static $attachRegex = null; @@ -778,6 +780,12 @@ class VB5xExporter extends AbstractExporter { return "[quote='".$username."','".$postLink."']"; }; + $urlRegex = new Regex('\[url="([^"]+)"\]', Regex::CASE_INSENSITIVE); + $urlCallback = function ($matches) { + $url = str_replace(["\\", "'"], ["\\\\", "\'"], $matches[1]); + return "[url='".$url."']"; + }; + $imgRegex = new Regex('\[img width=(\d+) height=\d+\](.*?)\[/img\]'); $mediaRegex = new Regex('\[video=([a-z]+);([a-z0-9-_]+)\]', Regex::CASE_INSENSITIVE); @@ -828,6 +836,9 @@ class VB5xExporter extends AbstractExporter { // quotes $message = $quoteRegex->replace($message, $quoteCallback); + // url + $message = $urlRegex->replace($message, $urlCallback); + // img $message = $imgRegex->replace($message, "[img='\\2',none,\\1][/img]"); -- 2.20.1