パターンにマルチバイト (UTF-8) 文字を使用する場合、関数を使用mb_するか、関数uのパターンにオプションを使用する必要があることを知っていpreg_ます。
しかし、preg_関数のサブジェクトにのみマルチバイト (UTF-8) 文字を使用し、パターンに ascii 文字のみを使用すると、preg_関数 (uオプションなし) は正しく動作しますか?
この場合、関数を使用するか、パターンにオプションをmb_追加する必要があることはわかっています。u
$str = preg_replace("/$utf8_multibyte_pattern/", '', $str);
uこのコード (オプションを使用しない) が安全かどうかを知りたい:
$ascii_pattern = "[a-zA-Z0-9'$#\\\"%&()\-~|~=!@`{}[]:;+*/.,_<>?_\n\t\r]";
$multibyte_str = preg_replace("/$ascii_pattern/", '', $utf8_multibyte_str);