Saturday, July 11, 2009

Shell: Aliases for Encoding/Decoding HTML Strings

Here are a couple of simple Unix aliases for quickly encoding and decoding HTML strings. I have these defined in my ~/.bash_aliases file.

alias htmlencode="perl -MHTML::Entities -pe 'encode_entities(\$_)'"
alias htmldecode="perl -MHTML::Entities -pe 'decode_entities(\$_)'"
To encode/escape all unsafe characters in a string with their HTML entities:

$ echo "This is <b>bold</b>" | htmlencode
This is &lt;b&gt;bold&lt;/b&gt;
And to decode/unescape HTML entities:

$ echo "This is &lt;b&gt;bold&lt;/b&gt;" | htmldecode
This is bold
These aliases depend on Perl and the HTML::Entities module which are standard on most modern Unixes.

See also: Web-based HTML encoder.

No comments: