正则表达式提取PHP中的JavaScript变量
Regular expression extract a JavaScript variable in PHP
我有一个很大的HTML文件,其中包含很多内容。我想从整个文件中获得一个JavaScript变量,例如'a'
。
示例:(删除了大量实际内容)
<html>
<head>
<script>
var a = [{'a': 1, 'b': 2}];
</script>
</head>
<body>
....
</body>
</html>
应该从上面得到的是:
[{'a': 1, 'b': 2}]
preg_match('#var a = (.*?);'s*$#m', $html, $matches);
echo $matches[1];
说明:
- Regex将尝试匹配任何包含
var a =
的行 - 然后,它将匹配所有内容,直到
;
、任意数量的空间's*
,然后是行$
的末尾 m
修饰符将尝试独立地匹配每一行,如果没有它,$
将只匹配字符串的末尾,这将有点无用
任何数量的空格只有在定义后有一些空格的情况下才会出现,而不是其他原因(例如人为错误)。如果您确信不会发生这种情况,可以删除's*
。
请注意,这并不能取代全面的解析器。如果a
定义在多行上,如果a
定义不止一次(想想作用域,你可以在全局作用域上有var a
,然后在函数内有var a
),等等,你需要进行修改。
相关文章:
- 将函数的上下文应用于javascript变量
- 如何通过ajax刷新JSF填充的javascript变量
- Javascript变量赋值|
- 限制javascript变量的最小/最大整数
- 来自文本输入null的html javascript变量
- 访问jsrender模板中的全局javascript变量并更新它
- 从数据库中获取数据并插入JavaScript变量
- 如何将javascript变量传递到Meteor Spacebars模板中
- 将JavaScript变量保存到Rails模型
- 在if语句下的html中使用javascript变量
- Javascript变量分配-按类别
- 操作javascript变量[HTML]以只显示文本
- 无法比较javascript变量
- 如何将smarty变量与javascript变量进行比较
- 如何使用PHP将javascript变量添加到mysql数据库中
- Javascript 变量使用 jquery 查找变量
- 重新加载页面时Javascript变量发生变化
- 在asp classic中使用javascript变量
- 全局Javascript变量变为null
- 如何向服务器端提交javascript变量