As you can see the ampersand is correctly encoded within attributes, but not inside the content.
Even though browsers render this correctly, it's not valid HTML.
It seems that the issue refers to Decoda's escaping function (\Decoda\Decoda::escape), which in fact only escapes brackets (< and >), but does not touch apersands.
Code:
Output:
As you can see the ampersand is correctly encoded within attributes, but not inside the content. Even though browsers render this correctly, it's not valid HTML.