###前提・実現したいこと
UTF8の「U+E000~U+F8FF 」の範囲を使った文字を全角の「?」に変換する処理
言語はPHPです。
###作成したソースコード
php
1public static function gaiji($str) 2 { 3 $pattern = '/(\xEE[\x80-\xBF])|(\xEF[\x80-\xA3])|(\xF3[\xB0-\xBF])|(\xF4[\x80-\x8F])/'; 4 $replace = preg_replace($pattern, '?', $str); 5 return $replace; 6 }
###解消したい問題
u+E787を置換した際に、該当の文字は「?」に置換されるが、これに付随して「�」が表示されてしまい、「?�」のような表示になる。
求めている結果は以下のとおりです。
置換前
<置換対象>テキスト<置換対象>テキスト
置換後
?テキスト?テキスト
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/18 06:39