<td class="lbs" colspan="4">
<span>4 Pack.</span>
<span>
<span class="strike">20.5</span>
<span class="lbs">9.5</span>
</span>
</td>
嘿伙计们!我需要一些帮助。我已经尽力寻找答案,但我似乎已经碰壁了。
我正在使用curl从上面的多个页面中抓取一段代码。
我正试图抓住每个值,例如“4 pack。,20.5,9.5”并将它们分配给一个变量,这样我就可以将它们传递给db。
答案 0 :(得分:0)
这有效:
preg_match_all('@<td class="lbs" colspan="4">\s*<span>([^<]+)</span>\s*<span>\s*<span class="strike">([0-9\.]+)</span>\s*<span class="lbs">([0-9\.]+)</span>\s*</span>\s*</td>@ims', $source, $matches);
答案 1 :(得分:0)
你真的必须使用正则表达式吗?
你有结构化数据,所以只需阅读DOM。
如果您必须使用正则表达式,请尝试以下操作:
@<[^>]+>[\n\r ]*([^<>\n]+)</[^>]+>@
编辑
用法:
$results = array();
preg_match_all(
'@<[^>]+>[\n\r ]*([^<>\n]+)</[^>]+>@',
$data, $results, PREG_PATTERN_ORDER
);