How can one prevent double encoding of html entities when they are allowed in the input

Posted by Bob on Stack Overflow See other posts from Stack Overflow or by Bob
Published on 2010-04-09T01:31:55Z Indexed on 2010/04/09 1:33 UTC
Read the original article Hit count: 475

Filed under:
|
|
|

How can I prevent double encoding of html entities, or fix them programmatically?

I am using the encode() function from the HTML::Entities perl module to encode HTML entities in user input. The problem here is that we also allow users to input HTML entities directly and these entities end up being double encoded.

For example, a user may enter:

Stackoverflow & Perl = Awesome…

This ends up being encoded to

Stackoverflow & Perl = Awesome…

This renders in the browser as

Stackoverflow & Perl = Awesome…

We want this to render as

Stackoverflow & Perl = Awesome...

Is there a way to prevent this double encoding? Or is there a module or snippet of code that can easily correct these double encoding issues?

Any help is greatly appreciated!

© Stack Overflow or respective owner

Related posts about perl

Related posts about cpan