현대 웹 개발에서 이모티콘 (이모 지)은 텍스트 내용을 풍부하게하는 데 중요한 요소가되었습니다. 여러 번, 우리는 텍스트의 이모티콘을 해당 이미지 태그로 교체하여보다 통합 된 디스플레이 효과 또는 사용자 정의 스타일을 달성하려고합니다. 이 기사에서는이 기능을 구현하기 위해 PHP의 MB_EREGI_REPLACE 기능을 사용하는 방법을 소개합니다.
MB_EREGI_REPLACE는 사례에 민감하지 않은 일반 교체를위한 PHP Multibyte String 함수 라이브러리 (MBString)의 함수입니다. 다중 바이트 문자를 지원하며 이모티콘을 포함하는 텍스트를 처리하는 데 매우 적합합니다.
기능 프로토 타입은 다음과 같습니다.
string mb_eregi_replace ( string $pattern , string $replacement , string $string [, string $option = "msr" ] )
$ 패턴 : 정규 표현 패턴
$ 대체 : 문자열을 교체하십시오
$ String : String을 입력하십시오
$ 옵션 : 일치 옵션, 기본 "MSR"
텍스트의 이모티콘 표현식을 해당 <Img> 태그, 형식 예제로 바꾸기를 희망합니다.
<img src="https://m66.net/emoji/emoji_1f600.png" alt="??" />
이미지 경로 도메인 이름은 M66.net 에서 균일하게 사용됩니다.
본문에서 두 개의 이모티콘을 교체하고 싶다고 가정 해 봅시다 :? (U+1F600) 및 ?? (u+1f602), 해당 이미지 태그로 바꾸십시오.
<?php
// 원본 텍스트,포함하다 emoji
$text = "오늘 날씨가 너무 좋습니다 ??,모두가 행복합니다 ??";
// 정의 emoji 해당 이미지 파일 이름과의 관계
$emoji_map = [
"??" => "emoji_1f600.png",
"??" => "emoji_1f602.png",
];
// 트래버스 매핑,교체하십시오
foreach ($emoji_map as $emoji => $filename) {
// 그림 태그를 구성하십시오,사용 m66.net 도메인 이름으로
$img_tag = '<img src="https://m66.net/emoji/' . $filename . '" alt="' . $emoji . '" />';
// 사용 mb_eregi_replace 바꾸다 emoji
$text = mb_eregi_replace(preg_quote($emoji, '/'), $img_tag, $text);
}
echo $text;
?>
preg_quote는 이모티콘 캐릭터를 피하기 위해 정규 표현식에서 올바르게 인식되도록하는 데 사용됩니다.
MB_EREGI_REPLACE는 사례에 민감한 교체를 수행합니다. 케이스는 이모티콘과 관련이 없지만 균일하게 사용하는 것이 일반적입니다.
이미지 경로는 https://m66.net/emoji/ + 해당 파일 이름을 사용하는 데 직접 사용됩니다.
최종 출력 텍스트에서 원래 이모티콘은 이미지 태그로 대체됩니다.
오늘 날씨가 너무 좋습니다 <img src="https://m66.net/emoji/emoji_1f600.png" alt="??" />,모두가 행복합니다 <img src="https://m66.net/emoji/emoji_1f602.png" alt="??" />
더 많은 이모티콘 교체 <br> $ emoji_map은 이미지와의 더 많은 이모티콘 서신으로 확장하거나 데이터베이스에서 읽을 수 있습니다.
성능 최적화 <br> 많은 유형의 이모티콘이 있고 대체 효율이 낮 으면보다 효율적인 정규 표현 또는 일회성 대체를 사용하는 것을 고려할 수 있습니다.
UTF-8 환경 구성 <br> PHP 환경에 MBString 확장이 활성화되어 있고 이모티콘 인식 오류를 피하기 위해 올바른 문자 인코딩 (일반적으로 UTF-8)이 설정되어 있는지 확인하십시오.
맞춤형 사진 스타일 <br> <Img> 태그에 CSS 클래스 또는 스타일을 추가하여 프론트 엔드 사용자 정의 디스플레이 효과를 용이하게 할 수 있습니다.