2016-10-13 5 views
-2

からJavaScriptのVaRの値を取得し、私は$ページ変数にWebページを持っています。 PHPプログラムでWebページ

... 
$page = file_get_contents("http://www.autostrade.it/autostrade-gis/gis.do", false, $context); 

$dom = new DOMDocument; 
$dom->loadHTML($); 
$xpath = new DOMXPath($dom); 
... 

このページでは、いくつかのjavascriptがあり、私は「evtsVar」と呼ばれる変数に含まれるJSONデータを取りたいです。

... 
<script ...> 
    ... 
</script> 
<script ...> 
    ... 
    var evtsVar = {json data} 
    ... 
</script> 

Xpathクエリは正しい方法ですか?この変数値を取るにはどうすればよいですか?

はあなたのすべて、私の英語のため申し訳ありませんありがとうございました。

+0

javascriptからphpスクリプトにjsondataにアクセスしようとしていますか? – black

+0

いいえ、私はti jsonデータにどのようにアクセスできますか? –

+0

はい、jsonのデータを正しく再生したいです。もしPHP側で演奏したいのであれば、クライアント側でアクセスしたい場合はajaxが必要です。 – black

答えて

0

これは、特定のページについて非常に具体的な質問です。あなたがリンクを提供したページを分析しました。スクリプトタグには変数があります。 JSONでそれを取得したいと思います。

私は強く、あまりにもあなたのために推奨される、解決のためのjQueryを使用しました。

最初のページを取得します。

<? 

$page = file_get_contents("http://www.autostrade.it/autostrade-gis/gis.do", false, $context); 

?> 

次にjavascriptの変数でページを取得する:

var page = <?php echo json_encode($page) ?>; 

今はページを持って、私たちは "= VARのevtsVar" で始まる文字列を見つける必要があります、で終わる ";":

var preString = "var evtsVar = "; 
var postString = ";"; 
var preIndex = page.indexOf(preString); 
var searchIndex = preIndex + page.substring(preIndex).indexOf(postString); 

var evtsString = page.slice(preIndex + preString.length , searchIndex); 

今JSONオブジェクトと印刷に文字列を解析取得:

テスト済み
var evtsVar = JSON.parse(evtsString); 

console.log(evtsVar); 

は、動作します。

+0

文字列の検索機能を使ってphpの変数$ pageで検索すると同じことが起こりますか? –

+0

indexOfは検索機能に似ています。それは質問ですか?プラットフォーム内で上記のコードをテストしましたか? – Kartal

+0

まさに、私は変数 "strpos" php関数を使って変数$ pageの "var = evtsVar"という文字列を検索します。 これはあなたのメソッドと同等に見えます。あなたのコードは動作します。 xpathクエリでHTML要素を作るために使われたメソッドがあるかどうか疑問に思っていました。 –

関連する問題