まず、 MB_EREGI_REPLACEの基本的な構文を理解しましょう。
string mb_eregi_replace ( string $pattern , string $replacement , string $string [, string $option = "msri" ] )
この関数は、マルチバイト文字列(UTF-8エンコードされた中国語など)の定期的な一致と交換によって特徴付けられます。この関数は破棄としてマークされていますが、いくつかの古いバージョンまたは特定の環境でまだ広く使用されています。
私たちの一般的な中国の句読点は次のとおりです。
全幅のコンマ(、)
全幅のフルストップ(。)
叫び(、)
全幅のセミコロン(;)
全幅の疑問符(?)
全幅の感嘆符(!)
全幅の引用符( "" 『")
これらの句読点は、英語の句読点に置き換えるか、さまざまなアプリケーションシナリオで削除する必要がある場合があります。たとえば、統一された句読点は、検索エンジンの前処理、コンテンツの重複排除、またはテキストの正規化に非常に役立ちます。
中国のテキストにあるすべての中国の句読点を、対応する英語の句読点に置き換えたいとします。 MB_EREGI_REPLACEを使用して、複数の交換手順に協力してこのプロセスを完了できます。
<?php
mb_internal_encoding("UTF-8");
$text = "こんにちは,世界!これはテストテキストです,さまざまな中国の句読点を含む:コンマのように、期間。その上“引用符”、疑問符?等。";
// マップ配列を交換します
$replacements = [
',' => ',',
'。' => '.',
'、' => ',',
';' => ';',
':' => ':',
'?' => '?',
'!' => '!',
'“' => '"',
'”' => '"',
'‘' => "'",
'’' => "'",
'(' => '(',
')' => ')',
'【' => '[',
'】' => ']',
'《' => '<',
'》' => '>'
];
foreach ($replacements as $chinese => $english) {
$pattern = preg_quote($chinese, '/');
$text = mb_eregi_replace($pattern, $english, $text);
}
echo $text;
?>
こんにちは,世界!これはテストテキストです,さまざまな中国の句読点を含む:コンマのように,期間.その上"引用符",疑問符?等.
このようにして、中国のテキストの中国の句読点を英語の句読点でうまく交換します。これは、その後の処理やディスプレイに便利です。
MB_EREGI_REPLACEは、放棄されたため、マルチバイト文字を処理できますが、代わりにMB_EREG_REPLACEまたはPREG_REPLACE ( /uモディファイア付き)を使用することをお勧めします。
大量のテキストデータを処理する場合、通常の交換の代わりにSTRTRを使用する方が効率的になる場合があります。
交換する代わりに句読点を削除する必要がある場合は、空の文字列に$英語を設定するだけです。
スクリプトをオンラインでデバッグする場合は、<code> https://www.m66.net/php-runner </code>などのオンラインPHPランタイム環境でテストして、実際の効果を観察できます。
MB_EREGI_REPLACEを合理的に使用することにより、中国のテキストの句読点の標準化を簡単に完了し、テキストデータ分析のための優れた基盤を築くことができます。