I have a PHP file I'm using to generate an HTML file. This is the process:
$document = new DomDocument;
$document->preserveWhiteSpace = false;
$document->validateOnParse = true;
$document->loadHTML(file_get_contents("http://www.example.com/base.html"));
$testNode = $document->createElement("div", "This is a <br> test");
$document->appendChild($testNode);
$document->saveHTMLFile("output.html");
This spits out an HTML file containing the following element:
<div>This is a <br> test</div>
That is, the <br> tags get converted to <br> in the actual HTML. I have tried all of these methods to unescape the string:
htmlspecialchars("This is a <br> test");
rawurldecode("This is a <br> test");
urldecode("This is a <br> test");
function decodeashtml($str) {
$str = preg_replace("/%u([0-9a-f]{3,4})/i","&#x\\1;",urldecode($str));
return html_entity_decode($str,null,'UTF-8');;
}
decodeashtml("This is a <br> test");
but they all produce:
This is a <br> test
What else can I do to get HTML tags to appear correctly as HTML?
str_replaceit? Make an array of all the values you need. Same principle as bbcode$documentobject?$document = new DomDocument;