从大HTML文件中提取javascript变量
我有一个巨大的带有javascript的HTML源文件,我想从javascript内容中提取一些信息。考虑到我有一个如下的文件从大HTML文件中提取javascript变量,javascript,ruby,regex,Javascript,Ruby,Regex,我有一个巨大的带有javascript的HTML源文件,我想从javascript内容中提取一些信息。考虑到我有一个如下的文件 <h1>Hello World</h1> <script type="text/javascript">something useless</script> <script type="text/javascript">var gmaps_vars = {FullAddress: "Rio de Janeiro
<h1>Hello World</h1>
<script type="text/javascript">something useless</script>
<script type="text/javascript">var gmaps_vars = {FullAddress: "Rio de Janeiro, Rio de Janeiro, Brasil", GeoLocation: {"lng":-43.187554,"lat":-22.9470974}}</script>
你好,世界
无用的东西
var gmaps_vars={完整地址:“里约热内卢,里约热内卢,巴西”,地理位置:{“lng”:-43.187554,“lat”:-22.9470974}
如何提取纬度和经度?使用正则表达式如何:
m = /GeoLocation: \{"lng":(-?\d+\.\d+),"lat":(-?\d+\.\d+)\}/.match(html)
lng = m[1]
lat = m[2]
试一试
html
jsfiddle获取var是什么意思?我已经更新了我真正需要的示例。一开始我试着太笼统了。:)
<h1>Hello World</h1>
<script type="text/javascript">var a;</script>
<script type="text/javascript" id="vars">var gmaps_vars = {"FullAddress": "Rio de Janeiro, Rio de Janeiro, Brasil", "GeoLocation": {"lng":-43.187554,"lat":-22.9470974}}</script>
$(function() {
var coords = [];
$.post(url, function(data, textStatus, jqxhr) {
$.each($(data), function(index, value) {
if ($(value).is("#vars")) {
coords.push(JSON.parse($(value).text().replace(/var|gmaps_vars|\=/g, "")).GeoLocation);
console.log(coords[0].lng + "\n" + coords[0].lat);
};
});
});
});