この問題に対して私が見つけることができた最良の答えは XSLT を使用することですが、それらの答えを私の問題に適用する方法がわかりません。
基本的に、DOMDocument は渡された URL (属性) をうまくエスケープしていますhref
が、私は実際にそれを使って Twig/Django スタイルのテンプレートを作成しています。「問題」を示す具体的な例を次に示します。
<?php
$doc = new DOMDocument();
$doc->loadHTML('<html><body>Test<br><a href="{{variable}}"></a></body></html>');
echo $doc->saveHTML();
次を出力します。
<html><body>Test<br><a href="%7B%7Bvariable%7D%7D"></a></body></html>
href
属性をパーセントエンコードしないことは可能ですか?
直接できない場合は、簡潔で信頼できる回避策を提案できますか? 私は他の処理を行っており、DOMDocument の使用法は維持する必要があります。おそらく、前/後処理のトリックですか?