コンテンツへスキップ

PHP で 文字列 から 絵文字削除

絵文字は大変

絵文字関連記事:UTF-8 のEmoji利用について

結論は、DBへの文字列入力時にエラーで失敗します。
文字列としてでなく、DBへ登録(バイナリなど)もできると思いますが、文字列は文字列として登録し、検索なり文字列としての処理ができる形で保存したほうが良いと思います。
やはり、文字列は削除して、DBの文字列登録は行います。

以下が、PHPで文字列を登録しようとした際に出力された、エラーコードです。

2020-02-10 07:58:33 [ERROR] SQL query error Error message: Incorrect string value: '\xF0\x9F\x92\xA1#\xE9...' for column 'who' at row 1

そして、以下が失敗したtweetです。失敗したtweet

めざましじゃんけん結果速報
【0戦目】めざましじゃんけん結果速報:
チョキ✌でした。グー✊が勝ちです。
今回の相手:

本来したかったtweet

【4戦目】めざましじゃんけん結果速報:
チョキ✌でした。グー✊が勝ちです。
今回の相手:生じゃんけん #阿部華也子 キャスター

めざましじゃんけんの対戦相手は、めざましてれび公式のtweet

明日のじゃんけんは?
【1戦目】5時58分 まちかどじゃんけん
【2戦目】6時58分 #森永悠希 さん
【3戦目】7時35分 #MANWITHAMISSION 
【4戦目】7時58分 生じゃんけん💡#阿部華也子 キャスター

PHPを利用した Emoji 絵文字を削除するコード

絵文字を削除するPHPコードとなります。

$str = preg_replace('/[\xF0-\xF7][\x80-\xBF][\x80-\xBF][\x80-\xBF]/', '', $str);

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA