Windows では、php.ini は GBK に設定されています
preg_replace('/[漢字]/','へ','555 漢字 555')
なぜ 555hehehe555 になるのですか、
私が欲しいのは555 へへ 555. 漢字 1 文字は [へ] 1 文字に対応します。 結果として、漢字 1 文字は [へ] 2 文字に相当します。
どうすれば望む結果を得ることができますか?
preg_replace('/[\x80-\xff]./','呵','555汉字555')
中国語コレクションを見つけるためではなく、2 つの単語 [漢字] を検索して置換します。
つまり、指定された漢字
を検索して置換する必要があります
上の例では、中国語が現れたらすぐに置換するのではなく、[汉] または [字] が現れたときに置換することになります。
echo preg_replace('/汉|字/','呵','555汉字555');