Open IwanBurg opened 2 years ago
Problem: preserve_handlebar_syntax=True doesn't preserve handlebars with characters before or after the handlebars.
Examples of html that don't preserve handlebars: a href="mailto:{{ Test }}" a href="{{ Test }}?subject=x"
Current regex code:
stripped = re.sub( r'="{{(.*?)}}"', lambda match: '="{{' + escape(match.groups()[0]) + '}}"', stripped, )
out = re.sub( r'="%7B%7B(.+?)%7D%7D"', lambda match: '="{{' + unescape(unquote(match.groups()[0])) + '}}"', out, )
Proposed regex code:
stripped = re.sub( r'="([^"]*){{(.*?)}}([^"]*?)"', lambda match: '="' + match.groups()[0] + '{{' + escape(match.groups()[1]) + '}}' + match.groups()[2] + '"', stripped, )
https://regex101.com/r/tLC41B/2
out = re.sub( r'="([^"]*)%7B%7B(.+?)%7D%7D([^"]*?)"', lambda match: '="' + match.groups()[0] + '{{' + unescape(unquote(match.groups()[1])) + '}}' + match.groups()[2] + '"', out, )
https://regex101.com/r/ADvQjO/1
I tried making a pull request: https://github.com/peterbe/premailer/pull/270
Problem: preserve_handlebar_syntax=True doesn't preserve handlebars with characters before or after the handlebars.
Examples of html that don't preserve handlebars: a href="mailto:{{ Test }}" a href="{{ Test }}?subject=x"
Current regex code:
Proposed regex code:
https://regex101.com/r/tLC41B/2
https://regex101.com/r/ADvQjO/1
I tried making a pull request: https://github.com/peterbe/premailer/pull/270