PHP preg模式需要从html源获取所需的数据

时间:2015-05-08 11:17:32

标签: php regex preg-match

我正在阅读html源代码,我需要从中获取以下数据。

LMS.pageData['product']['maxThreshold'] ='6';

在上面的例子中我需要抓住6。

2 个答案:

答案 0 :(得分:1)

您可以使用简单的捕获分组:

"LMS.pageData\['product'\]\['maxThreshold'\] ='(\d)';"

然后你需要从匹配模式中提取第一组!

Demo

您还可以使用直观返回数字,而无需获取第一组:

"(?<=LMS.pageData\['product'\]\['maxThreshold'\] =')\d(?=';)"

答案 1 :(得分:1)

您可以使用环视功能在行尾添加'...'内的数字,如下所示:

<?php
$re = "#(?<=')\d+(?=';\s*$)#m"; 
$str = "LMS.pageData['product']['maxThreshold'] ='6';"; 
preg_match($re, $str, $matches);
print_r($matches[0]);

请参阅IDEONE demo

如果输入包含多行preg_match_all s,请使用'6';获取多个匹配项。