HTMLページ全体を含むphpから文字列が渡されるJavaScriptコードが少しあるとしましょう。文字列を現在のドキュメントに書き込み、それを含む要素の 1 つを変更します。このようなもの:
<script type="text/javascript">
var foo = <?php echo $html_document;?>;
document.open();
document.write(foo);
document.close();
document.getElementById("some_id_within_html_document").innerHTML = "some stuff";
</script>
これにより、目的の出力が得られます。このページのソースを表示する場合を除いて、すべてが見栄えがします。後でこのページをスクレイピングして同じことをしたい場合、ブラウザによって解釈される html の代わりに JavaScript が表示されます。このメソッドを使用して、JavaScript が生成するのではなく、目的の HTML をスクレイピングするにはどうすればよいでしょうか? 代わりにphpで文字列を処理することでこの問題を回避しましたが、ソースを表示したりページをスクレイピングしたりするときに、解釈されたHTMLをこのように表示できるかどうかはまだ興味があります.
編集: 全体的に素晴らしい反応です。ここで実際に何が起こっているのか、どのような慣行を避けるべきかについて多くのことを学びました. 私が最初に抱えていた問題に関して、最小限の努力しか必要としない最も簡単な解決策は、Justin Wood によって提供されました。