Nov*_*vak 4 javascript php arrays web-scraping
我有一个大的HTML文件,包含很多内容.我想'a'从整个文件中获取一个JavaScript变量,例如命名.
示例:(删除了大量实际内容)
<html>
<head>
<script>
var a = [{'a': 1, 'b': 2}];
</script>
</head>
<body>
....
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
应该从上面得到的是:
[{'a': 1, 'b': 2}]
Run Code Online (Sandbox Code Playgroud)
Jay*_*Jay 11
preg_match('#var a = (.*?);\s*$#m', $html, $matches);
echo $matches[1];
Run Code Online (Sandbox Code Playgroud)
说明:
var a =;,任意数量的空格\s*,然后是行的结尾$m修改将尝试每行独立匹配,没有它,$就只是比赛然后结束这将是一个有点用处的字符串该空格任何量仅存在的情况下,你有一些空间的定义,没有其他原因(如人为错误)之后.如果您确定不会发生这种情况,可以删除\s*.
请注意,这不会取代完整的解析器.如果a定义了多行,则需要进行修改,如果定义了a多次(考虑范围,可以var a在全局范围内,然后var a在函数内),等等.