2011-03-23 135 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