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


How to extract a value between square brackets in php

我正在编写一些代码,期望接收html块,其中总是包含以下内容:

var code = [39.474, -0.3548];

方括号之间的值总是不同的。我如何使用php提取方括号之间的值?

我应该指出,我正在解析一个HTML块到php,其中也包括js

使用像

这样的正则表达式
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
)

一个简单的解决方案是:

  1. 替换"["answers"]"
  2. explosion by ","

    $a = "[39.474, -0.3548]"; $b = str_replace("]", "", str_replace("[", "", $a)); $c = explode(",", $b); print_r($c);

输出:

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