[英]Get page source of external URL and manipulate with javascript/jquery
[英]Get a page's source with PHP, manipulate with JavaScript
我最后知道,JavaScript無法獲取任意頁面的源代碼。 但是PHP可以很容易地實現。
//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 thesaurus.com@strong
<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時遇到了麻煩。)
您可以運行php腳本來獲取文件內容,並將結果回顯到具有只讀/禁用狀態的textarea,然后通過ajax查詢該php文件,以在頁面上顯示結果textarea。
例如,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); }});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.