2011-03-23 130 views
2

我試着用下面的方法,它沒有返回所有的JavaScript。用php解析javascript文件

$homepage = file_get_contents('dr_0702/.js'); 

echo $homepage; 

我想返回JavaScript源代碼,以便我可以解析它的一些內容。這是我想分析:

但是從這段代碼我只是想分析msgTitle,msgBody,insertDate

+0

你有業主同意這樣做呢? – 2011-03-23 02:50:23

+0

@Dagon是的,它的一個工具欄我在http://www.wibiya.com上創建,但它確實減慢了我的網站,所以我只想顯示更新 – jennifer 2011-03-23 02:53:57

+0

用一些更好的代碼代替它看起來更好一點aproach – 2011-03-23 02:55:00

回答

0

我一起把這個功能的目的,就這樣。我的函數尋找一個唯一的開始字符串,在這種情況下,像msgTitle「:」,然後它抓住每個字符,直到它運行到結尾字符串,在這種情況下是雙引號。

要使用它,你將執行這些PHP語句:

$msgTitle = parse_to_string('msgTitle":"', '"', $homepage); 

$msgBody = parse_to_string('msgBody":"', '"', $homepage); 

$insertDate = parse_to_string('insertDate":"', '"', $homepage); 

這裏是PHP函數

function parse_to_string($beginning_string, $ending_string, $custom_string='') 
{ 

    // . in Regular Expressions means match any character 
    // * in Regular Expressions means "greedy" and grab everything up to the ending string 
    // siU in Regular Expressions means ignore case sensitivity 

    if('' != $custom_string){ 

     // Search $html variable for all characters between the begin and end strings 
     // INCLUDING the begin and end strings 
     preg_match_all("($beginning_string.*$ending_string)siU", $custom_string, $matching_data); 


      return $matching_data[0][0]; 

    } 
      else { return false; } 

} 
+0

之前,我可以使用你的例子我需要propberly獲得源當我使用get_file_contents它不加載所有的javascript你知道一種方式我可以加載它全部 – jennifer 2011-03-23 03:11:22

+0

@jennifer,對不起,我想不出任何會限制文件下載。有沒有一個特定的角色,它是失敗的? – 2011-04-14 01:38:41