2014-10-29 68 views
0

爲了讓我使用這個的preg_match的圖片網址:PHP的preg_match(得到JavaScript網址)

preg_match("/lstImages.push('(.+?)');/", $html, $matches); 
foreach ($matches as $mt){ 
echo $mt; 
} 
在$ HTML療法

是這樣一個javascript:

<script type="text/javascript"> 
       var lstImages = new Array(); 

        lstImages.push("http://2.bp.blogspot.com/-A_8FelFBtA0/U8CbI8mDvNI/AAAAAAABHRk/bz4ysT8qeBk/046.png?imgmax=3000"); 

        lstImages.push("http://2.bp.blogspot.com/-wkv19o5dCAA/U8CaDZ2VEtI/AAAAAAABHL4/mAGcV8TJbQc/001.png?imgmax=3000"); 

... 

</script> 

我想成爲能夠得到的網址

http://2.bp.blogspot.com/-A_8FelFBtA0/U8CbI8mDvNI/AAAAAAABHRk/bz4ysT8qeBk/046.png?imgmax=3000 

,但沒有結果?

感謝

+0

你的問題/代碼沒有多大意義 - 什麼是你想怎麼辦? – 2014-10-29 18:38:26

+0

即時通訊試圖讓圖像網址喜歡(http://2.bp.blogspot.com/-A_8FelFBtA0/U8CbI8mDvNI/AAAAAAABHRk/bz4ysT8qeBk/046.png?imgmax=3000) – belamil 2014-10-29 18:45:23

+0

我希望我永遠不必在項目上工作你開始大聲笑 – foxygen 2014-10-29 18:49:54

回答

0

如果必須使用正則表達式,則應該使用preg_match_all()

正則表達式語法對於您嘗試匹配的內容不正確。圍繞分隔符的模式引號,我會建議用單引號替換。您的表達式中的單引號應該是雙引號。您還有meta characters需要轉義才能匹配文字字符。

preg_match_all('/lstImages\.push\("(.+?)"\);/', $html, $matches); 
echo implode("\n", $matches[1]); 

輸出

http://2.bp.blogspot.com/-A_8FelFBtA0/U8CbI8mDvNI/AAAAAAABHRk/bz4ysT8qeBk/046.png?imgmax=3000 
http://2.bp.blogspot.com/-wkv19o5dCAA/U8CaDZ2VEtI/AAAAAAABHL4/mAGcV8TJbQc/001.png?imgmax=3000 
+0

它的工作原理,謝謝evryone。 – belamil 2014-10-29 18:53:12

0
'/lstImages\.push\("([^"]*)"\);/' 

嘗試this.This應該給reuqired圖像。

+0

它沒有輸出任何,同樣的問題? – belamil 2014-10-29 18:41:49

+0

@belamil現在嘗試 – vks 2014-10-29 18:43:20

+0

它的作品,但它只給出第一個網址?它沒有循環他們 – belamil 2014-10-29 18:50:13