> 백엔드 개발 > PHP 문제 > PHP 이모티콘을 텍스트로 변환하는 방법

PHP 이모티콘을 텍스트로 변환하는 방법

藏色散人
풀어 주다: 2023-03-13 14:34:01
원래의
7433명이 탐색했습니다.

PHP 이모티콘을 텍스트로 변환하는 방법: 1. PHP 샘플 파일을 만듭니다. 2. "function utf16_to_entities(){...}" 메서드를 사용하여 이모티콘을 HTML 문자 엔터티로 변환하고 저장합니다.

PHP 이모티콘을 텍스트로 변환하는 방법

이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

php 이모티콘을 텍스트로 변환하는 방법

PHP 이모티콘 표현을 HTML 문자 엔터티로 변환:

모바일 단말기 입력 이모티콘은 실제로 UTF-16으로 인코딩되어 데이터베이스 저장소에서 손실됩니다. 현재 데이터베이스 문자 인코딩을 utf8mb4로 변경하면 저장할 수도 있습니다.

다른 이모티콘을 수정하고 싶지 않다면 해당 이모티콘을 HTML 문자 엔터티로 변환하여 저장할 수 있습니다.

코드는 다음과 같습니다.

function utf16_to_entities(){
    $content = mb_convert_encoding($content, 'utf-16');
    $bin = bin2hex($content);
    $arr = str_split($bin, 4);
    $l = count($arr);
    $str = '';
    for ($n = 0; $n < $l; $n++) {
        if (isset($arr[$n + 1]) && (&#39;0x&#39; . $arr[$n] >= 0xd800 && &#39;0x&#39; . $arr[$n] <= 0xdbff && &#39;0x&#39; . $arr[$n + 1] >= 0xdc00 && &#39;0x&#39; . $arr[$n + 1] <= 0xdfff)) {
            $H = &#39;0x&#39; . $arr[$n];
            $L = &#39;0x&#39; . $arr[$n + 1];
            $code = ($H - 0xD800) * 0x400 + 0x10000 + $L - 0xDC00;
            $str.= &#39;&#&#39; . $code . &#39;;&#39;;
            $n++;
        } else {
            $str.=mb_convert_encoding(hex2bin($arr[$n]),&#39;utf-8&#39;,&#39;utf-16&#39;);
        }
    }
    return $str;
}
로그인 후 복사

참고: 여기의 문자는 utf-8로 저장됩니다. 코드에서 처리되는 형식이 GBK인 경우 직접 수정하세요.

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP 이모티콘을 텍스트로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿