1

目标是查找集合,例如<!-- content:start -->some content here<!-- content:stop -->并处理每个集合以将其放入数组中,但每次它找不到匹配项并回显我的 die 语句而不打印任何匹配项。注意:开始和结束标记之间的内容通常跨越多行。

这是正在执行的当前函数。

function boom($data) {
    $number = preg_match_all("/(<!-- ([\w]+):start -->)(.*?)(<!-- \\2:stop -->)/", $data, $matches, PREG_SET_ORDER);
    if ($number == 0) $data['content'] = $data;
    //else unset($data);
    foreach ($matches as $item) print_r($item)."\n\n"; // $data[$item[2]] = explode("<!-- breaker -->", $item[3]);
    die("<code>".str_replace("\n", "<br />", htmlentities($data))."</code>");
    return $data;
}
4

1 回答 1

2

如果您的文本有多行,只需将/s修饰符添加到您的模式(以.匹配换行符)。

于 2010-02-07T08:35:08.423 回答