linkPreview - workaround for mising 's' flag ins js regex
authorrabuzarus <trebor@central-unit>
Wed, 13 Feb 2019 21:26:56 +0000 (22:26 +0100)
committerrabuzarus <trebor@central-unit>
Wed, 13 Feb 2019 21:26:56 +0000 (22:26 +0100)
view/js/linkPreview.js

index 09583ae..f0a5d74 100644 (file)
                var getAttachmentData = function(content) {
                        var data = {};
 
-                       var match = content.match(/(.*)\[attachment(.*?)\](.*?)\[\/attachment\](.*)/im);
+                       var match = content.match(/([\s\S]*)\[attachment([\s\S]*?)\]([\s\S]*?)\[\/attachment\]([\s\S]*)/im);
                        if (match === null || match.length < 5) {
                                return null;
                        }
                        data.text = trim(match[1]);
 
                        var type = '';
-                       var matches = attributes.match(/type='(.*?)'/im);
+                       var matches = attributes.match(/type='([\s\S]*?)'/im);
                        if (matches !== null && typeof matches[1] !== 'undefined') {
                                type = matches[1].toLowerCase();
                        }
 
-                       matches = attributes.match(/type="(.*?)"/im);
+                       matches = attributes.match(/type="([\s\S]*?)"/im);
                        if (matches !== null && typeof matches[1] !== 'undefined') {
                                type = matches[1].toLowerCase();
                        }
 
                        var url = '';
 
-                       matches = attributes.match(/url='(.*?)'/im);
+                       matches = attributes.match(/url='([\s\S]*?)'/im);
                        if (matches !== null && typeof matches[1] !== 'undefined') {
                                url = matches[1].toLowerCase();
                        }
 
-                       matches = attributes.match(/url="(.*?)"/im);
+                       matches = attributes.match(/url="([\s\S]*?)"/im);
                        if (matches !== null && typeof matches[1] !== 'undefined') {
                                url = matches[1].toLowerCase();
                        }
 
                        var title = '';
 
-                       matches = attributes.match(/title='(.*?)'/im);
+                       matches = attributes.match(/title='([\s\S]*?)'/im);
                        if (matches !== null && typeof matches[1] !== 'undefined') {
                                title = matches[1].toLowerCase();
                        }
 
-                       matches = attributes.match(/title="(.*?)"/im);
+                       matches = attributes.match(/title="([\s\S]*?)"/im);
                        if (matches !== null && typeof matches[1] !== 'undefined') {
                                title = matches[1].toLowerCase();
                        }
 
                        var image = '';
 
-                       matches = attributes.match(/image='(.*?)'/im);
+                       matches = attributes.match(/image='([\s\S]*?)'/im);
                        if (matches !== null && typeof matches[1] !== 'undefined') {
                                image = matches[1].toLowerCase();
                        }
 
-                       matches = attributes.match(/image="(.*?)"/im);
+                       matches = attributes.match(/image="([\s\S]*?)"/im);
                        if (matches !== null && typeof matches[1] !== 'undefined') {
                                image = matches[1].toLowerCase();
                        }
 
                        var preview = '';
 
-                       matches = attributes.match(/preview='(.*?)'/im);
+                       matches = attributes.match(/preview='([\s\S]*?)'/im);
                        if (matches !== null && typeof matches[1] !== 'undefined') {
                                preview = matches[1].toLowerCase();
                        }
 
-                       matches = attributes.match(/preview="(.*?)"/im);
+                       matches = attributes.match(/preview="([\s\S]*?)"/im);
                        if (matches !== null && typeof matches[1] !== 'undefined') {
                                preview = matches[1].toLowerCase();
                        }
                        if (attachmentData) {
                                reAddAttachment(attachmentData);
                                // Remove the attachment bbcode from the textarea.
-                               var content = content.replace(/\[attachment.*\[\/attachment]/im, '');
+                               var content = content.replace(/\[attachment[\s\S]*\[\/attachment]/im, '');
                                $('#' + selector).val(content);
                                $('#' + selector).focus();
                        }