iOS 앱에서 채팅을 보낼 때 응용 프로그램을 만들고 있지만 관리자가 PHP로 작성된 관리자 패널에서 채팅을 볼 수 있습니다. DB에서 PHP에서 UTF16 서로 게이트 쌍을 동등한 HEX 코드 포인트로 변환하는 방법은 무엇입니까?
는,이 같은 채팅 메시지를 받고있을 것이다 : 나는 이미지로 HEX 코드 포인트를 변환 할 수있는 library을 twemoji 사용하고Hi, Jax\ud83d\ude1b\ud83d\ude44! can we go for a coffee?
. 나는 다음 코드 한
의 상세 가정 해 봅시다, PHP 섹션에서
는 : -
$text = "This is fun \u1f602! \u1f1e8 ";
$html = preg_replace("/\\\\u([0-9A-F]{2,5})/i", "&#x$1;", $text);
echo $html;
는 이제 twemoji 이미지에 진수 코드 포인트를 대체하는 HTML 문서의 몸 전체를 구문 분석합니다.
window.onload = function() {
// Set the size of the rendered Emojis
// This can be set to 16x16, 36x36, or 72x72
twemoji.size = '16x16';
// Parse the document body and
// insert <img> tags in place of Unicode Emojis
twemoji.parse(document.body);
}
그렇기 때문에 모든 UTF-16을 16 진수 코드 포인트 (예 : emojis)로 바꾸려면 텍스트가 필요합니다. 어떻게해야합니까? 여기
남자는 반드시 매력이었습니다 ... 그러나 변환되지 않은 일부 쌍이 있습니다. – Saswat
어떤 페어가 있습니까? 당신은 실제 쌍이고 BMP 코드 포인트가 아니라고 확신합니까? (단순히'\ uNNNN '으로 인코딩되며 두 개가 아닌 하나의 이스케이프 시퀀스로 인코딩됩니다)? 이 경우 필터를 제거하기 위해 다른 정규 표현식 대체품을 사용해야합니다. '\ uNNNN'을'& # xNNNN;'(여기서'NNNN'은 정확하게 4 개의 16 진수)으로 대체하기를 원하기 때문에 이것은 매우 간단합니다. 그리고 그것은 간단한 regex replace로 할 수 있습니다. – aaaaaa123456789
'\ ud83d \ ude43'와 (과) 유사합니다. – Saswat