【发布时间】:2018-10-17 19:45:23
【问题描述】:
我正在尝试从包含常用 HTML 标记的页面中提取特定的 JavaScript 对象。
我尝试使用正则表达式,但当 HTML 包含换行符时,我似乎无法正确解析 HTML。
可以在这里看到一个例子:https://regex101.com/r/b8zN8u/2
我尝试提取的 HTML 如下所示:
<script>
DATA.tracking.user = {
age: "19",
name: "John doe"
}
</script>
使用以下正则表达式:DATA.tracking.user=(.*?)}
<?php
$re = '/DATA.tracking.user = (.*?)\}/m';
$str = '<script>
DATA.tracking.user = { age: "19", name: "John doe" }
</script>';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
如果我在没有任何换行符的情况下解析 DATA.tracking.user = { age: "19", name: "John doe" },那么它可以正常工作,但如果我尝试解析:
DATA.tracking.user = {
age: "19",
name: "John doe"
}
它不喜欢处理换行符。
任何帮助将不胜感激。
谢谢。
【问题讨论】: