-
Notifications
You must be signed in to change notification settings - Fork 123
Open
Description
When input markdown contains HTML tags with attributes that contain / character (URLs being the most obvious cause), library fails to parse it properly.
Example input:
<iframe width='400' height='300' src='https://github.com'></iframe>
The output:
<p><iframe width='400' height='300' src='https://github.com'></iframe></p>
Expected output: HTML should pass through more or less untouched:
<iframe width='400' height='300' src='https://github.com'></iframe>
The issue here is that HtmlTag.ParseHelper does not correctly handle the / character in the attribute values, considering it, I guess, the end of tag, and then deciding that HTML is malformed and treats it as any other text.
The fix that worked for me is to replace:
markdowndeep/Backup/MarkdownDeep/HtmlTag.cs
Line 328 in 76577d2
| while (!p.eof && !char.IsWhiteSpace(p.current) && p.current != '>' && p.current != '/') |
line with:
while (!p.eof && !char.IsWhiteSpace(p.current) && p.current != '>' && !p.DoesMatch("/>"))
But I am not sure it won't break something else.
Metadata
Metadata
Assignees
Labels
No labels