2013-04-06 72 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()文档。