現在の位置: ホーム> 最新記事一覧> mb_ereg_search_regs関数を正しく使用して、マルチバイト文字の通常のマッチング操作を実行する方法は?

mb_ereg_search_regs関数を正しく使用して、マルチバイト文字の通常のマッチング操作を実行する方法は?

gitbox 2025-08-26
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 記事の始まりは、メインテキストとは何の関係もありませんPHPコードの例</span></span><span>
</span><span><span class="hljs-variable">$timestamp</span></span><span> = </span><span><span class="hljs-title function_ invoke__">time</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-variable">$timestamp</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<br>------------------------<br>"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>

<hr>

<h2>正しく使用する方法 <code>mb_ereg_search_regs

返品値は、現在一致しているすべてのサブエクスペリションを含む配列です。一致がない場合は、 falseを返します。

2。手順を使用します
  1. 通常の検索のエンコードモードを設定します: mb_regex_encoding( 'utf-8');
  2. 検索の初期化: mb_ereg_search_init($ string、$ pattern);
  3. 一致した結果を取得: $ matches = mb_ereg_search_regs();
  4. LoopingまたはMB_EREG_Search()により、次の試合を見つけ続けることができます。

3。サンプルコード
<span><span class="function_ invoke__">MB_REGEX_ENCODING</span></span> <span>(</span> <span><span>&#39;UTF-8&#39;</span></span> <span>);

</span><span><span>$ text</span></span> <span>=</span> <span><span>"php正規表現処理マルチバイト文字の例"</span></span> <span>;
</span><span><span>$ pattern</span></span> <span>=</span> <span><span>"multiple bytes(文字)"</span></span> <span>;

</span><span><span class="function_ invoke__">mb_ereg_search_init</span></span> <span>(</span> <span><span>$ text</span></span> <span>、</span> <span><span>$ pattern</span></span> <span>);

</span><span><span>//最初の一貫した結果を得るします</span></span><span>
</span><span><span>if</span></span> <span>(</span> <span><span>$ match</span></span> <span>=</span> <span><span class="function_ invoke__">mb_ereg_search_regs</span></span> <span>()){
    </span><span><span>エコー</span></span><span> </span><span><span>「マッチングに成功しました:<br> "</span></span> <span>;
    </span><span><span class="function_ invoke__">print_r</span></span> <span>(</span> <span><span>$ match</span></span> <span>);
}</span><span><span>それ以外</span></span><span>{
    </span><span><span>エコー</span></span><span> </span><span><span>「一貫性のあるする結果はありません。」</span></span> <span>;
}
</span><p>出力例:</p><pre>
マッチングに成功しました:
<span><span class="function_ invoke__">配列</span></span><span>
(
    [</span> <span><span>0</span></span> <span>] =>マルチバイト文字[</span> <span><span>1</span></span> <span>] =>文字)
</span><h3><span><span>4。</span></span><span>知らせすべきこと</span><ul><li>文字列と一般的にのパターンのエンコードが一貫していることを確認してください。そうしないと、マッチングが失敗する可能性があります。</li><li> <span class="fun"><a href="/ja/php/mb_ereg.html" target="_blank">MB_EREG</a></span>シリーズ関数は、 <span class="fun">PREG_*</span>シリーズよりもわずかに効率が低いくなりますが、マルチバイト環境ではより安全性で信頼性が高いくなります。</li><li>グローバルに複数の結果を一貫性のあるさせる必要がある場合は、 <span class="fun"><a href="/ja/php/mb_ereg_search_getregs.html" target="_blank">mb_ereg_search_getregs()</a></span>またはloop <span class="fun">mb_ereg_search()</span>を使用できます。</li></ul><h3> <span><span>5。</span></span><span>概要</span><p><span class="fun">MB_EREG_SEARCH_REGS</span>を使用して、中国語や日本などのマルチバイトテキストシナリオの処理に適切なしたマルチバイト文字列の一般的にの一貫性のあるするサブエクスペリションを簡単に得るします。使用する場合は、エンコード設定に知らせし、初期化シーケンスを検索して、一貫性のあるする動作しますを安全性かつ効率的に完了します。</p></div></div>