意味はあまり分かっていないのですが、とりあえず下記のように書いたら、body要素の(恐らくタグを除いた)テキスト部分だけを取得できたのですが、

$crawler->filterXPath('//body')->each(function (DomCrawler $node) use ($url) {
    $result = trim($node->text());
});

DomCrawler


例えば、下記構成の場合は、JavaScriptタグ内容も取得してしまいます。

<body>
  <script language="JavaScript" type="text/javascript">
      var spaceid = "1160003246";
//以下略
  </script> 

質問

・XPathでbody要素のテキストだけを取得する際、JavaScriptタグ内容だけは削除するにはどうすれば良いでしょうか?