diff --git a/Parsedown.php b/Parsedown.php index 90e65a8..c709543 100755 --- a/Parsedown.php +++ b/Parsedown.php @@ -1136,7 +1136,7 @@ class Parsedown $substring = substr($excerpt, $extent); - if (preg_match('/^\s*\[(.+?)\]/', $substring, $matches)) + if (preg_match('/^\s*\[([^][]+)\]/', $substring, $matches)) { $Link['label'] = strtolower($matches[1]); diff --git a/test/data/implicit_reference.html b/test/data/implicit_reference.html index 209b85e..24b51c1 100644 --- a/test/data/implicit_reference.html +++ b/test/data/implicit_reference.html @@ -1,3 +1,4 @@

an implicit reference link

an implicit reference link with an empty link definition

+

an implicit reference link followed by another

an explicit reference link with a title

\ No newline at end of file diff --git a/test/data/implicit_reference.md b/test/data/implicit_reference.md index d128826..f850df9 100644 --- a/test/data/implicit_reference.md +++ b/test/data/implicit_reference.md @@ -4,6 +4,10 @@ an [implicit] reference link an [implicit][] reference link with an empty link definition +an [implicit][] reference link followed by [another][] + +[another]: http://cnn.com + an [explicit][example] reference link with a title [example]: http://example.com "Example" \ No newline at end of file