如何在php中提取方括号之间的值

如何在php中提取方括号之间的值,php,Php,我正在编写一些代码,希望收到一个html块,其中始终包含以下内容: var code = [39.474, -0.3548]; 方括号之间的值总是不同的。如何使用php提取方括号之间的值 我可能应该指出,我正在将一块HTML解析为php,其中也包含js。一个快速而肮脏的解决方案可能是: 替换[和] 爆炸 $a=[39.474,-0.3548]; $b=str_replace],str_replace[,$a; $c=爆炸,,$b; 印刷费(r$c) 输出: Array ( [0] =>

我正在编写一些代码,希望收到一个html块,其中始终包含以下内容:

var code = [39.474, -0.3548];
方括号之间的值总是不同的。如何使用php提取方括号之间的值


我可能应该指出,我正在将一块HTML解析为php,其中也包含js。

一个快速而肮脏的解决方案可能是:

替换[和] 爆炸

$a=[39.474,-0.3548]; $b=str_replace],str_replace[,$a; $c=爆炸,,$b; 印刷费(r$c)

输出:

Array ( [0] => 39.474 [1] => -0.3548 )

使用正则表达式,如

preg_match_all('/\\[(.*?)\\]/', $your_string, $matches, PREG_SET_ORDER);

数组$matches[1]将包含您的值。

如果Javascript数组格式将始终保持不变,即两个组件和“,”后面的空格,您可以使用/?:\[.[.[,][.*?:\]/regex在php中提取它们:

$line = 'var code = [39.474, -0.3548];';

preg_match("/(?:\[)(.*)[,][ ](.*)(?:\])/", $line, $output_array);

print_r ($output_array);
结果将是

array(
0   =>  [39.474, -0.3548]
1   =>  39.474
2   =>  -0.3548
)