Encode/Decode HTML
If you want to display html code on a website, you can't just type a <
in you index.html and expect it to show up. You have to use an equivalent html entity instead.
Client-side (Javascript)
The following javascript function is a handy way of encoding and decoding html, so you can display the code on your website.
window.htmlentities = {
encode: function (str) {
var buf = [];
for (var i = str.length - 1; i >= 0; i--) {
buf.unshift(["&#", str[i].charCodeAt(), ";"].join(""));
}
return buf.join("");
},
decode: function (str) {
return str.replace(/&#(\d+);/g, function (match, dec) {
return String.fromCharCode(dec);
});
},
};
Encode
htmlentities.encode(
"Hello, this is a test stríng > < with characters that could break html. Therefore we convert it to its html characters."
);
Output:
"Hello, this is a test strí
ng >
<
with characters that could break html. Therefore we convert it to its html characters."
Decode
htmlentities.decode(
"Hello, this is a test stríng > < with characters that could break html. Therefore we convert it to its html characters."
);
Output: "Hello, this is a test stríng > < with characters that could break html. Therefore we convert it to its html characters."
Server-side (PHP)
If you need to convert html entities serverside, this can easily be done with PHP like so:
<?php
$converted_html = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $converted_html; // <a href='test'>Test</a>
?>