doulu4233 2016-02-12 19:29
浏览 48
已采纳

解析JavaScript变量声明[关闭]

Is here any way to parse JavaScript syntax in PHP?

I want to get all JS variables in PHP array

$string = 'var variable = "hello";
           var thisIsVariableToo = "world";
           var and = ["this", "is"];
           var its = new Array("amazing");
           var nice = null;';

I want to get in PHP from that (^^^) string:

$string = [
    "variable" => "hello",
    "thisIsVariableToo" => "world",
    "and" => ["this", "is"],
    "its" => ["amazing"],
    "nice" => null
]

How I can do that?

  • 写回答

1条回答 默认 最新

  • douya1974 2016-02-12 19:45
    关注

    What about this?

    $str = 'var variable = "hello";
    var thisIsVariableToo = "world";
    var and = ["this", "is"];
    var its = new Array("amazing");
    var nice = null;';
    
    preg_match_all('~^var\s+([^=]+?)\s*=\s*(.+?)\s*;?\s*$~imu', $str, $matchesAll, PREG_SET_ORDER);
    $arr = array();
    foreach ($matchesAll as $matches) {
        $arr[$matches[1]] = $matches[2];
    }
    
    print_r($arr);
    

    Which outputs this:

    Array
    (
        [variable] => "hello"
        [thisIsVariableToo] => "world"
        [and] => ["this", "is"]
        [its] => new Array("amazing")
        [nice] => null
    )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大