2017-04-27 5 views
0

JavaScriptは、私が知り得た任意のページのソースコードを取得できません。しかし、PHPはかなり簡単です。ページのソースをPHPで取得し、JavaScriptを使って操作します。

//get page source code with php 
<?php 

url = 'http://www.thesaurus.com/browse/strong?s=t'; 
$src = file_get_contents($url); 

?> 

PHPはDOMを操作するのには不向きですが、jQueryはそれに最適です!

私は

//manipulate source code with javascript 
<script> 
html = '"' + <?php echo $src;?> + '"'; 
listItems = $(html + " li"); 
printLists = ''; 
$.each(listItems, function(ind, el) { 
    printLists += el.innerHTML + "<br/>"; 
}); 

document.write(printLists); 

</script> 

しかし、私は、スクリプトタグに$srcをエコー任意の時間のような何かをしたい、それがすぐにHTMLとして解釈され、ページには、実際の現場の生の嘲笑になります。私は実際にコピーされたソースコードのいずれかがまったく表示したくないけれども

//Actually just shows me [email protected] 
<body> 
    <div id="holder" style="display: none;"></div> 

<script> 
    holder = $("#holder"); 
    nodeNames = []; 
    html = $.parseHTML(<?php echo $src;?>, holder, false); 
</script> 
</body> 

フレーズ「仮想DOMは」、右に聞こえます。私はちょうどそれの特定の部分を抽出する:コンソールからスクリプトを実行するために、用語のいくつかのシソーラスサイトを検索し、結果を取得し、ローカルのシソーラススクリプトによってアクセスされるJSONに保存する。

私は他のすべてのことを行う方法の確かなアイデアを持っていますが、これが難しい部分であるとは思わなかったです!

ブラウザがHTMLを解析しないようにするためのアドバイスはありますか?

(私はとにかく、ブラウザなしで、単にスクリプトファイルとして実行するようにこれを好むが、トラブルthesaurus.jsファイル内のjQueryをロードしていたでしょう。)

答えて

0

あなたはファイルの内容を取得し、結果をエコーするPHPスクリプトを実行することができますreadonly/disabledを指定したテキストエリアに、次にajaxを介してphpファイルに問い合わせて、結果のテキストエリアをページに表示します。例えば

、output.php:元のファイル

<?php 
    $str = '<p>I am a paragraph.</p>'; 
    echo '<textarea readonly="readonly">'.$str.'</textarea>'; 
?> 

AJAX呼び出し:

$.ajax({url: 'output.php', success: function(data) { $('#result').html(data); }}); 
関連する問題