mb_regex_set_options()のパラメーターは、主に次のオプションであり、通常は文字列として渡されます。
i-ケースマッチングの例を無視します例: mb_regex_set_options( 'i');
関数:一致する文字を一致させるときに、正規表現をケースに依存させます。たとえば、 ABCの一致もABCと一致させることができます。
X-拡張モードの例: MB_REGEX_SET_OPTIONS( 'x');
機能:読みやすさを改善するために、正規表現でスペースとコメントを使用できます。例えば:
<span><span><span class="hljs-title function_ invoke__">mb_ereg</span></span><span>(<span class="hljs-string">'a # マッチa
b # マッチb
c'</span>, </span><span><span class="hljs-variable">$str</span></span><span>);
</span></span> S-シングルラインモードの例: MB_REGEX_SET_OPTIONS( 's');
関数:一致するドット。ラインブレークを含むすべての文字。デフォルトでは、 。 NewLinesと一致しません。
M-マルチラインモードの例: MB_REGEX_SET_OPTIONS( 'M');
関数:文字列の開始と終了だけでなく、各行の開始と終了をそれぞれ一致させます。
a-文字列の先頭からの強制マッチング例: mb_regex_set_options( 'a');
関数:ターゲット文字列の先頭から定期的に一致する必要がありますが、最初ではない場合は、マッチングが失敗します。
d-文字列の最後からの強制マッチング例: MB_REGEX_SET_OPTIONS( 'd');
関数:ターゲット文字列の端から定期的に一致する必要があります。
これらのパラメーターは、ケースを無視したり、同時にマルチラインモードを有効にしたりするなど、組み合わせることができます。
<span><span><span class="hljs-title function_ invoke__">mb_regex_set_options</span></span><span>(</span><span><span class="hljs-string">'im'</span></span><span>);
</span></span>これは、通常の一致がケースを無視し、 ^と$は文字列全体だけでなく、各行の開始と終了と一致することを意味します。
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-title function_ invoke__">mb_regex_set_options</span></span><span>(</span><span><span class="hljs-string">'i'</span></span><span>); </span><span><span class="hljs-comment">// ケースを無視します</span></span><span>
</span><span><span class="hljs-variable">$pattern</span></span><span> = </span><span><span class="hljs-string">"php"</span></span><span>;
</span><span><span class="hljs-variable">$subject</span></span><span> = </span><span><span class="hljs-string">"PHP is great!"</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">mb_ereg</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-variable">$subject</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"マッチ成功!"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"マッチ失败!"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>出力結果:
<span><span>マッチ成功!
</span></span>ご覧のとおり、 MB_REGEX_SET_OPTIONS( 'I')により、 PHPがPHPに一致し、ケースが鈍感になります。