我有preg匹配偏移的问题

时间:2011-04-01 03:57:09

标签: php regex

这是模式。它仍然获得第一张图片

preg_match_all('!http://.+\.(?:jpe?g|png|gif)!Ui', $content, $matches);

    preg_match_all('/\S+(list|of|bad|words)\S+/i', $content, $bads);

    $filtered = array_values(array_diff($matches[0], $bads[0]));

$varcontent[$i]["content"] = $content;
$varcontent[$i]["images"] = array_unique($filtered);

由于

1 个答案:

答案 0 :(得分:0)

我假设你说“它仍然得到第一张图片”你说你想跳过第一场比赛? (如果没有,请更清楚)

那是因为偏移量不是“跳到第n个匹配”参数。它是“从字符串中的此字符位置开始”参数。所以你要告诉它从字符串中的第一个字符开始,这实际上与完全不提供参数相同。

没有“方便”的方式来说“从第二场比赛开始”。只匹配all并忽略$ matches数组中的第一个匹配...