How to replace/remove 4(+)-byte characters from a UTF-8 string in PHP?

后端 未结 7 2136
小蘑菇
小蘑菇 2020-12-14 01:00

It seems like MySQL does not support characters with more than 3 bytes in its default UTF-8 charset.

So, in PHP, how can I get rid of all 4(-and-more)-byte character

7条回答
  •  太阳男子
    2020-12-14 01:25

    Below function change 3 and 4 bytes characters from utf8 string to '#':

    function remove3and4bytesCharFromUtf8Str($str) {
            return preg_replace('/([\xF0-\xF7]...)|([\xE0-\xEF]..)/s', '#', $str);
        }
    

提交回复
热议问题