我在解析HTML页面时遇到问题。在javascript中有一个变量我需要获取它并将其放入json格式。
<script>
var variable1 = "foo";
var variable2 = "boo";
var multipleArray = [
{"var1":"1",
"var2": [{
"var21":"Extra Lge",
"var22":"45923090470",
"var23": {"key1":"value1",
"key2":"value"}
}],
...etc...
}]
</script>
有没有简单的方法,如何获得var multipleArray以及所有键和值?我使用了preg_match()
preg_match("'var multipleArray = [\{.*?\}]'", $source, $matches );
但它返回$matches
为空数组()。
我做错了什么?我与reg.ex.的经历在0级:(
我会很高兴有任何帮助:)非常感谢你:))
答案 0 :(得分:0)
使用以下模式,您应该获得没有var multipleArray标识符的数组。
preg_match('/\[(\{(.*)\})\]/', $source, $matches );
现在要获取键值对,你必须解析它。 或者如果你想获得一个快速,肮脏和邪恶的胜利,你可以做到以下几点:
您使用str_replace()将每个':'替换为'=&gt;','[{'with'[','}]'替换为']','{'替换为'[','}'用']'。
使用结果字符串($ result)执行以下操作:
$result_array = null;
eval('$result_array = '.$result);
现在$ result_array包含你的数组。