PHP帮助REGEX /说明

时间:2013-01-16 14:05:02

标签: php regex curl

  

可能重复:
  Grabbing the href attribute of an A element

<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。

2 个答案:

答案 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
);