2013-04-06 74 views
1

我想從JavaScript數組中提取號碼 「28」:Preg_match_all和javascript陣列

(preg_match_all("/array.content(2,\'(.*?)\');/", $result, $con)

它並不:

array.content(2,'28','0');

,所以我用正則表達式寫的是這樣的工作,請幫忙;)

+0

首先,preg_match_all的參數順序是錯誤的,如果變量的名稱反映了它的價值。切換'$結果'和'$ con' – Kovge 2013-04-06 07:56:25

+0

你想修改字符串還是隻檢索值? – Aiias 2013-04-06 08:01:06

回答

0

此正則表達式應該工作:

 "/array\.content\(2\,\'?([0-9]+)\'?\,[^\)]*\)\;/ui" 

而且swiitch $result$con變量preg_match_all 測試下面的參數:http://regexr.com?34e0q

如果第一個參數並不總是2(但數值變量)你可以使用這個:

 "/array\.content\(\'?[0-9]+\'?,\'?([0-9]+)\'?\,[^\)]*\)\;/ui" 

測試:http://regexr.com?34e16

看到你的結果:

var_dump($result); //$result[1] contains what you need ;) 
0

Javascript

如果您嘗試刪除元素,請參閱Javascript的Array.splice()

如果您正在嘗試查找元素,請使用Array.indexOf()

PHP

preg_match_all(#\((.*)(,|\))#, "array.content(2,'28','0');", $matches); 

你可能想澄清你的問題,看看PHP的preg_match_all()文檔。