文字列からいくつかの値を取り出したい (関数内)
if(!preg_match('/(.+)\.([0-9]*)x([0-9]*)(w|wr|r)?\.([^\.]+)$/', $filename, $matches))
return false;
$file = $matches[1];
$width = $matches[2];
$height = $matches[3];
$set_watermark_or_nonconstrain = $matches[4]; // that's what I need to fix
$ext = $matches[5];
ただし、{$image[0]->filename|resize:614:300:r} (Smarty) のような文字列を設定すると、$set_watermark_or_nonconstrain が常に「w」であることを除いて、すべてうまくいきます。このサブマスクから「w」、「wr」、または「r」を取得するには、w|wr|r の代わりに何を設定する必要がありますか? ありがとう!