1

こんにちは皆さん、私はphpに次のコードを持っています

return preg_replace_callback("#\{gallery: '(.+?)'\}#i", 
    function($i)
    { 
        $oGallery = new Gallery( $i[1] );
        $oGallery->PublicSide();
    }, $string);

今、私はそれに以下を追加したい:

ユーザーがディレクトリをギャラリーに追加するかどうかを選択できるようにしたいので、次のようにします。

"#\{gallery: '(.+?)' dir: '(.+?)')\}#i"

そのため、ユーザーはポーションを行う必要があります:{gallery: 'folder'}または{gallery: 'folder' dir: '1'}

ディレクトリオプションが存在しない場合でも置換が行われるように、正規表現に関してこれを行うにはどうすればよいですか? 前もって感謝します!

4

1 に答える 1

1

オプションにする

"#\{gallery: '(.+?)'(?: dir: '(.+?)')?\}#i"

(?:text)非キャプチャ グループを作成します

?グループの後に追加するとオプションになります

于 2012-07-17T00:59:16.337 に答える