この問題で最も良い答えはXSLTを使用していますが、私はこれらの答えを自分の問題に適用する方法がわかりません。PHPのDOMDocumentを使用しているときに、パーセントエンコーディングのhref属性を使用しないようにしてください
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の使い方は変わりません。だから、おそらく前/後の処理のトリックですか?
DOMは、既存のドキュメントを操作するための素晴らしいですが、建物のために新しいドキュメンテーションを基礎から、特に "htmlのように見えるテンプレート"を構築するときには、文字列演算を使う方が良いでしょう。 –
私は実際に既存の文書を操作しています。これは問題をはっきりと示した可能な最短のサンプルコードです。 –
本質的に、この例で使用される文字列は 'file_get_contents()'、*などで読み込まれます。 –