パターンにマルチバイト (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);