gpt4 book ai didi

javascript - 获取 HTML 页面上 javascript 函数中的嵌入值

转载 作者:行者123 更新时间:2023-12-03 11:40:38 25 4
gpt4 key购买 nike

我正在使用 php 并尝试在 javascript 函数中获取值。HTML 页面中的 javascript 如下:

<script type="text/javascript">

function show(q)
{
if(q.length > 0)
{
if(q.indexOf("tid") > -1)
{
location.href = "map.jsp?" + q;
}
else
{
location.href = "listmap.jsp?" + q;
}
}

return false;
}

$(function() {
$("#map").goMap({
latitude: -35.331415
,longitude: 149.131851
,maptype: 'ROADMAP'
,scrollwheel: false
,zoom: 11
,markers: [ {latitude: -35.192103,longitude: 149.332313,icon: 'images/m/marker1.png',html: {content: 'Loading...', ajax: 'mapinfo.jsp?sid=9057'}}]

我需要获取(第二个函数中的第3行和第4行)纬度和经度的值,它们是:-35.331415和149.131851

我只是不确定如何访问各个值......

编辑:我使用 PHP 将这些值保存在变量中,然后将它们写入 csv 文件目前我正在使用此代码(这里是一个片段)来获取其他页面上的其他所有内容

<?php


$ch = curl_init("http://pvoutput.org/listmap.jsp?sid=312");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$cl = curl_exec($ch);


$dom = new DOMDocument();
@$dom ->loadHTML($cl);

$Lat_data = $dom -> getElementsByTagName("script");
print_r($Lat_data -> item(1) );

编辑2:我通过这样做解决了所有问题:

$Lat_data = $dom -> getElementsByTagName("script");
$content =$Lat_data -> item(10) -> textContent;

$regex = "/latitude: ([^\b,]*)/";
if (preg_match( $regex , $content , $values )) {
echo $values[1];
$regex2 = "/longitude: ([^\b,]*)/";
}
if (preg_match($regex2, $content, $values2)) {
echo $values2[1];
}

最佳答案

您已成功获取脚本节点。现在您想要它的内容(javascript 代码)

$content = $Lat_data -> item(1) -> textContent

获得内容后,您可以使用正则表达式解析它以获得您想要的内容

$regex = "/latitude: ([^\b\n]*)(.|\n)*,longitude: ([^\b\n,]*)/";
if (preg_match($regex, $content, $values)) {
echo 'latitude: ' . $values[0];
echo 'longitue: ' . $values[2];
}

正则表达式解释(测试here):

  • 查找“纬度:”
  • 然后我们得到第一组 (),[^\b\n]* 表示除空格或换行符之外的任何内容
  • 获取纬度值和“,经度:”之间的任何值
  • 下一步查找“,经度:”
  • 第三组与前一组一样。我添加了“,”,这样如果经度和“,maptype”之间没有空格,它仍然有效。

这个正则表达式的解释有点困惑,请检查测试链接以获取更详细的解释。

我还没有测试过它,所以可能有一些语法错误,但想法是存在的;)

关于javascript - 获取 HTML 页面上 javascript 函数中的嵌入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26296953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com