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 に答える