javascript - 从源代码解析javascript变量

标签 javascript php sql

我需要解析一些 javascript 变量,以便更新到 SQL 数据库。

1) 我将如何直接从源代码解析这些行,例如:

//our variables
var y = "bloblo";
var x = "blabla";
var z = "bleble";

(上面的这个 block 将在页面源代码的某个地方,我的目标是检索它,并将它存储在一些 php 变量中) 最合适的方法是什么?

2) 有没有办法直接访问网站的源代码以使用此解析器并检索/保存数据?

最佳答案

此函数对 JS 源代码进行基本解析以查找变量定义:

function parse_js_vars($source) {
    $res = array();
    $matches = array();
    $rx = "/(?:var)?\s+([\$A-Za-z_][$\w]*)\s*=\s*['\"]?([^'\";]*)[\"']?\s*(?:^|;)/";
    preg_match_all($rx, $source, $matches);
    foreach ($matches[1] as $n => $name) {
        $res[$name] = $matches[2][$n];
    }
    return $res;
}

例子:

parse_js_vars("var a=5;var b='hello';");

返回

array(
  "a" => "5"
  "b" => "hello"
)

关于javascript - 从源代码解析javascript变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23843271/

相关文章:

sql - postgresql 将行更新为固定数字

mysql - 根据一定条件SQL计算各组贡献百分比

javascript - 使用 firebase 的网络谷歌身份验证

php - 为什么这个 PDO Insert 执行了两次?

php - 如何在 elementxof table1 = elementx of table2 的情况下获取与另一个表 JOINing 的列的选择总和?[特殊情况]

sql - 联接中 WHERE 和 AND 子句的区别

javascript - onRowDoubleClicked 不应触发 primereact 中的 onSelectionChange

javascript - 当它不是静态的时候,你如何突出显示键入的文本?

javascript - Firefox 视频标签 getVideoPlaybackQuality() 不是函数

php - 使用 php 以人类可读格式从数据库表中打印餐厅营业时间