The best answers I was able to find for this issue are using XSLT, but I'm just not sure how to apply those answers to my problem.
Basically, DOMDocument is doing a fine job of escaping URLs (in href
attributes) that are passed in, but I'm actually using it to build a Twig/Django style template, and I'd rather it leave them alone. Here's a specific example, illustrating the "problem":
<?php
$doc = new DOMDocument();
$doc->loadHTML('<html><body>Test<br><a href="{{variable}}"></a></body></html>');
echo $doc->saveHTML();
Which outputs the following:
<html><body>Test<br><a href="%7B%7Bvariable%7D%7D"></a></body></html>
Is it possible to NOT percent-encode the href
attribute?
If it's not possible directly, can you suggest a concise and reliable workaround? I'm doing other processing, and the DOMDocument usage will have to stay. So perhaps a pre/post processing trick?
file_get_contents()
, for example. – Logion