首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP/Querypath获取Javascript变量的值

PHP/Querypath获取Javascript变量的值
EN

Stack Overflow用户
提问于 2013-01-18 19:16:18
回答 1查看 2.1K关注 0票数 0

我正在尝试使用QueryPath传递HTML。我想在HTML中获得Javascript变量的值。如下所示:

代码语言:javascript
复制
<script type="text/javascript">

        var base_url = "http://www.exampleurl.com/";
        var room_id = "357"; //I want to get the value of room_id
        var selected_room_button = "";

</script>

我想要得到Javascript变量*room_id*的值,即357,如何实现这一点?

即使不使用QueryPath,还有其他HTML解析器可以让我完成这种解析吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-18 19:47:39

您可以使用正则表达式。此代码将返回示例中的房间id。

代码语言:javascript
复制
<?php

$html = '
<script type="text/javascript">
    var base_url = "http://www.exampleurl.com/";
    var room_id = "357"; //I want to get the value of room_id
    var selected_room_button = ""; 
</script>';

$pattern = '/var room_id = "(.*)";/';
preg_match($pattern, $html, $matches);
$room_id = $matches[1];

但是没有通用的解决方案,因为变量可能已经定义了两次,或者已经在不同的范围中定义过。

如果您不需要提取row_id之外的其他内容,我看不出有什么理由使用HTML解析器。它只会让事情变慢。另外,请期待HTML解析器不是Javascript解析器!HTML解析器只用于提取<script> </script>标记之间的未解析内容-作为字符串。您将再次需要一个正则表达式来提取row_id。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14406010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档