<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Convert HTML chars Javascript - PHP</title>
<script>
function htmlspecialchars(string1) {
return string1
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">")
.replace(/"/g, """)
.replace(/'/g, "'");
}
function htmlspecialchars(str)
{
str = str.replace(/&/g, "&");
str = str.replace(/>/g, ">");
str = str.replace(/</g, "<");
str = str.replace(/"/g, """);
str = str.replace(/'/g, "'");
return str;
}
</script>
<?
// $new = htmlspecialchars($new, ENT_QUOTES);
?>
<script>
function htmlspecialchars_decode(string, quote_style) {
var optTemp = 0,
i = 0,
noquotes = false;
if (typeof quote_style === 'undefined') {
quote_style = 2;
}
string = string.toString().replace(/</g, '<').replace(/>/g, '>');
string = string.replace(/'/g, "'");
var OPTS = {
'ENT_NOQUOTES': 0,
'ENT_HTML_QUOTE_SINGLE': 1,
'ENT_HTML_QUOTE_DOUBLE': 2,
'ENT_COMPAT': 2,
'ENT_QUOTES': 3,
'ENT_IGNORE': 4
};
if (quote_style === 0) {
noquotes = true;
}
if (typeof quote_style !== 'number') { // Allow for a single string or an array of string flags
quote_style = [].concat(quote_style);
for (i = 0; i < quote_style.length; i++) {
// Resolve string input to bitwise e.g. 'PATHINFO_EXTENSION' becomes 4
if (OPTS[quote_style[i]] === 0) {
noquotes = true;
} else if (OPTS[quote_style[i]]) {
optTemp = optTemp | OPTS[quote_style[i]];
}
}
quote_style = optTemp;
}
if (quote_style & OPTS.ENT_HTML_QUOTE_SINGLE) {
string = string.replace(/�*39;/g, "'");
// string = string.replace(/'|�*27;/g, "'"); // This would also be useful here, but not a part of PHP
}
if (!noquotes) {
string = string.replace(/"/g, '"');
}
// Put this in last place to avoid escape being double-decoded
string = string.replace(/&/g, '&');
//string = string.replace(/'/g, "'");
return string;
}
// New = htmlspecialchars_decode(new,"ENT_HTML_QUOTE_DOUBLE");
</script>
<?
// echo htmlspecialchars_decode($str, ENT_NOQUOTES);
?>
<script>
function str2html()
{
nstr = htmlspecialchars(document.getElementById("texta").value);
document.getElementById('newtext').innerHTML = nstr;
document.getElementById("texta").value = nstr;
}
function html2str()
{
nstr = htmlspecialchars_decode(document.getElementById("texta").value,"ENT_HTML_QUOTE_DOUBLE");
document.getElementById('newtext').innerHTML = nstr;
document.getElementById("texta").value = nstr;
}
</script>
</head>
<body>
Convert HTML to string and vise versa.<br><br>
<input name="Button1" type="button" value="Javascript string to html" onclick="str2html()">
<input name="Button2" type="button" value="Javascript html to string" onclick="html2str()">
<br><br>
<textarea id="texta" name="texta" style="width: 419px; height: 186px"></textarea>
<div id="newtext"></div>
</body>
</html>