如何在php中提取方括号之间的值
我正在编写一些代码,希望收到一个html块,其中始终包含以下内容:如何在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] =>
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
)