diff --git a/app/assets/javascripts/pretty-text/engines/discourse-markdown/bbcode-block.js b/app/assets/javascripts/pretty-text/engines/discourse-markdown/bbcode-block.js index 95eb279590..4c0413358d 100644 --- a/app/assets/javascripts/pretty-text/engines/discourse-markdown/bbcode-block.js +++ b/app/assets/javascripts/pretty-text/engines/discourse-markdown/bbcode-block.js @@ -15,7 +15,7 @@ function trailingSpaceOnly(src, start, max) { return true; } -const ATTR_REGEX = /^\s*=(.+)$|((([a-z0-9]*)\s*)=)(["“”'].*?["“”']|\S+)/gi; +const ATTR_REGEX = /^\s*=(.+)$|((([a-z0-9]*)\s*)=)([“”].*?[“”]|['].*[']|["].*?["]|\S+)/gi; // parse a tag [test a=1 b=2] to a data structure // {tag: "test", attrs={a: "1", b: "2"} diff --git a/spec/components/pretty_text_spec.rb b/spec/components/pretty_text_spec.rb index 12106c4ba2..f5cca52d5c 100644 --- a/spec/components/pretty_text_spec.rb +++ b/spec/components/pretty_text_spec.rb @@ -1744,10 +1744,10 @@ HTML end it "adds attributes as data-attributes" do - cooked = PrettyText.cook("[wrap=toc name=\"pepper bell\" id=1]taco[/wrap]") + cooked = PrettyText.cook("[wrap=toc name=\"single quote's\" id='1\"2']taco[/wrap]") html = <<~HTML -
taco