2012-05-17 93 views
1

以下是我無法找到解決方案的情況。我使用這個:如何獲取文本中的所有鏈接(URL)?

// creating ajax object 
// ==================== 

function createRequestObject(){ 
try { return new XMLHttpRequest() } 
catch(e) 
{ 
try { return new ActiveXObject('Msxml2.XMLHTTP') } 
catch(e) 
{ 
try { return new ActiveXObject('Microsoft.XMLHTTP') } 
catch(e) { return null; } 
} 
} 
} 

這是用於使用Ajax。所以我用Ajax(http.responseText)從PHP文件中獲取文本。現在我需要找到文本中的所有URL鏈接,並將另一個Ajax請求發送到另一個PHP文件,該文件通過cURL讀取頭來檢查鏈接的可用性。如果服務器響應爲200,則返回HTML鏈接,如果其他服務器響應或錯誤,則返回簡單的文本鏈接。

任何人都可以幫助如何解決這個問題?

我想一個JavaScript像這樣的工作:

  1. VAR PHPreturn = http.responseText。
  2. 打開for()循環以檢查所有用backspaces劃分的單詞並檢查鏈接的所有單詞。如果鏈路套房的URL正規快件,換上新的功能,將發送新的Ajax查詢到另一個PHP文件檢查的鏈接,如:

//打開循環,將得到所有單詞,退格分離

for(...){ 

//如果一個字是以http鏈接://

if(regular_express == http://){ 

//替換字[I]與加載條,而AJAX返回從PHP文件

的響應
word[i].replace(word[i],'<span id="url_id"><img src="loading.gif"></span>'); 

//發送Ajax查詢和等待PHP文件返回

// checkURL( 「用GET url變量PHP文件」, 「SPAN ID」);

checkURL("http_response.php?url="+url,"span_id"); 


function checkURL(url,place){ 
var http = createRequestObject(); 
if(http){ 
http.open("GET", url); 
http.onreadystatechange = function(){ 
if(http.readyState == 4){ 
document.getElementById(place).innerHTML = http.responseText; 
} 
} 
http.send(null); 
} else { 
document.location = url; 
} 
} 

我不知道這些JavaScript應該如何。將感謝任何幫助。先謝謝你。

回答

0

嘗試使用responseXML;

xmlDoc=xmlhttp.responseXML; 
txt=""; 
x=xmlDoc.getElementsByTagName("img"); 
for (i=0;i<x.length;i++) 
{ 
    // your code here. 
} 
相關問題