찾다
백엔드 개발PHP 문제PHP에서 한자를 병음으로 변환하는 방법

PHP는 매우 널리 사용되는 서버 측 스크립팅 언어로 유연성, 속도, 보안이라는 장점이 있어 웹 개발, 인터넷 애플리케이션, 엔터프라이즈급 소프트웨어 개발 등의 분야에서 널리 사용됩니다. 중국어 문자를 병음으로 변환하는 것은 특히 중국어 검색, 정렬, 필터링 및 기타 시나리오에서 일반적인 요구 사항이므로 사용자 경험과 검색 정확도를 향상시킬 수 있습니다. 이 기사에서는 PHP를 사용하여 한자를 병음으로 변환하는 방법을 소개합니다.

1. PHP 확장 기능 사용

PHP에는 한자를 병음으로 쉽게 변환할 수 있는 병음이라는 확장 기능이 있습니다. 먼저 php.ini 파일에서 확장 기능을 활성화하고 다음 줄을 찾아서 주석 처리를 해제한 후 PHP 서비스를 저장하고 다시 시작해야 합니다.

extension=pinyin.so

그런 다음 PHP 코드에서 확장 기능이 제공하는 함수를 호출하여 다음을 구현할 수 있습니다. 한자를 병음으로 변환하는 기능. 예를 들어 문자열 "China"를 병음으로 변환하려면 병음 함수를 사용할 수 있습니다.

$py = pinyin('中国'); // 返回结果为“zhong guo”

병음 함수의 반환 결과는 문자열이며 여러 병음은 공백으로 구분된다는 점에 유의해야 합니다. 문자열의 모든 중국어 문자를 병음으로 변환해야 하는 경우 PHP의 정규식 기능을 사용하여 완료할 수 있습니다.

2. 타사 라이브러리 사용

확장 프로그램을 사용하는 것 외에도 타사 라이브러리를 사용하여 중국어 문자를 병음으로 변환할 수도 있습니다. 더 인기 있는 라이브러리 중에는 병음(pinyin), 과진병음(overtrue-pinyin) 등이 있습니다. 여기서는 병음 라이브러리를 예로 들어 이를 사용하여 한자를 병음으로 변환하는 기능을 구현하는 방법을 설명합니다. 병음 라이브러리는 Composer를 통해 설치해야 합니다.

composer require overtrue/pinyin

설치 후 PHP 코드에서 다음 코드를 사용하여 중국어 문자를 병음으로 변환하는 기능을 구현합니다.

require_once "vendor/autoload.php"; // 引入Composer自动加载器

use Overtrue\Pinyin\Pinyin;

$pinyin = new Pinyin(); // 创建Pinyin实例

$string = '中国'; // 待转换的字符串
$result = $pinyin->convert($string); // 转换
var_dump($result); // 输出转换结果

위 코드에서 Composer 오토로더를 도입해야 합니다. 먼저 병음 인스턴스를 만듭니다. Pinyin 클래스에서 제공하는 변환 메소드를 사용하여 문자열을 Pinyin으로 변환하고 최종적으로 결과를 인쇄할 수 있습니다. 출력 결과는 다음과 같습니다.

Array
(
    [0] => zhong
    [1] => guo
)

병음 라이브러리는 다중 음성 단어를 다중 병음으로 변환하는 것도 지원합니다. 예를 들어 "Chongqing"은 두 개의 병음 "chong"과 "qing"으로 변환되므로 필요합니다. 그것을 사용할 때 이것을 처리하십시오.

3. 직접 변환 구현

마지막으로 확장 프로그램이나 타사 라이브러리를 사용하고 싶지 않은 경우 한자를 병음으로 변환하는 기능을 직접 구현할 수도 있습니다. 다음은 유니코드 인코딩을 기반으로 한 방법을 제공합니다. 먼저 문자열의 각 한자를 해당 유니코드 인코딩 세트로 변환한 다음 병음 테이블을 쿼리하여 각 한자에 해당하는 병음을 찾은 다음 문자열로 연결해야 합니다.

function split_unicode_chrs($str) { // 将字符串转换成Unicode编码集合
    preg_match_all('/./u', $str, $matches);
    return $matches[0];
}

function get_pinyin($chr) { // 查询拼音表,返回汉字对应的拼音
    $table = array(
        '\u554a' => 'a', // 注意转义
        '\u963f' => 'a',
        // 其他汉字及拼音...
    );
    return isset($table[$chr]) ? $table[$chr] : false;
}

function str2pinyin($str) { // 将汉字字符串转成拼音
    $unicode_chrs = split_unicode_chrs($str);
    $result = array();
    foreach ($unicode_chrs as $chr) {
        $pinyin = get_pinyin(json_encode($chr));
        if ($pinyin) {
            $result[] = $pinyin;
        }
    }
    return implode(' ', $result);
}

$str = '中国';
$pinyin = str2pinyin($str);
echo $pinyin; // 输出“zhong guo”

이 구현에는 성능 문제가 있을 수 있으며 일반적으로 사용되는 한자에만 적용된다는 점에 유의해야 합니다. 보다 효율적이고 포괄적인 한자-병음 변환 기능을 구현하려면 병음 라이브러리의 소스 코드 또는 기타 오픈 소스 구현을 참조할 수 있습니다.

4. 요약

이 글에서는 한자를 병음으로 변환하는 세 가지 방법, 즉 PHP 확장 사용, 타사 라이브러리 사용, 직접 변환 구현을 소개했습니다. 각 방법에는 장점과 단점이 있으며 실제 필요에 따라 선택할 수 있습니다. 어떤 방법을 사용하든 중국어 검색, 정렬 및 기타 시나리오의 경험과 정확성을 향상시키고 사용자에게 더 나은 경험을 제공할 수 있습니다.

위 내용은 PHP에서 한자를 병음으로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
산과 기본 데이터베이스 : 차이 및 각각을 사용 해야하는시기.산과 기본 데이터베이스 : 차이 및 각각을 사용 해야하는시기.Mar 26, 2025 pm 04:19 PM

이 기사는 산 및 기본 데이터베이스 모델을 비교하여 특성과 적절한 사용 사례를 자세히 설명합니다. 산은 금융 및 전자 상거래 애플리케이션에 적합한 데이터 무결성 및 일관성을 우선시하는 반면 Base는 가용성 및

PHP 보안 파일 업로드 : 파일 관련 취약점 방지.PHP 보안 파일 업로드 : 파일 관련 취약점 방지.Mar 26, 2025 pm 04:18 PM

이 기사는 코드 주입과 같은 취약점을 방지하기 위해 PHP 파일 업로드 보안에 대해 설명합니다. 파일 유형 유효성 검증, 보안 저장 및 오류 처리에 중점을 두어 응용 프로그램 보안을 향상시킵니다.

PHP 입력 유효성 검증 : 모범 사례.PHP 입력 유효성 검증 : 모범 사례.Mar 26, 2025 pm 04:17 PM

기사는 내장 함수 사용, 화이트리스트 접근 방식 및 서버 측 유효성 검사와 같은 기술에 중점을 둔 보안을 향상시키기 위해 PHP 입력 유효성 검증에 대한 모범 사례를 논의합니다.

PHP API 요율 제한 : 구현 전략.PHP API 요율 제한 : 구현 전략.Mar 26, 2025 pm 04:16 PM

이 기사는 토큰 버킷 및 누출 된 버킷과 같은 알고리즘을 포함하여 PHP에서 API 요율 제한을 구현하고 Symfony/Rate-Limiter와 같은 라이브러리 사용 전략에 대해 설명합니다. 또한 모니터링, 동적 조정 요율 제한 및 손도 다룹니다.

PHP 비밀번호 해싱 : password_hash 및 password_verify.PHP 비밀번호 해싱 : password_hash 및 password_verify.Mar 26, 2025 pm 04:15 PM

이 기사에서는 PHP에서 암호를 보호하기 위해 PHP에서 Password_hash 및 Password_Verify 사용의 이점에 대해 설명합니다. 주요 주장은 이러한 기능이 자동 소금 생성, 강한 해싱 알고리즘 및 Secur를 통해 암호 보호를 향상 시킨다는 것입니다.

OWASP Top 10 PHP : 일반적인 취약점을 설명하고 완화하십시오.OWASP Top 10 PHP : 일반적인 취약점을 설명하고 완화하십시오.Mar 26, 2025 pm 04:13 PM

이 기사는 PHP 및 완화 전략의 OWASP Top 10 취약점에 대해 설명합니다. 주요 문제에는 PHP 응용 프로그램을 모니터링하고 보호하기위한 권장 도구가 포함 된 주입, 인증 파손 및 XSS가 포함됩니다.

PHP XSS 예방 : XSS로부터 보호하는 방법.PHP XSS 예방 : XSS로부터 보호하는 방법.Mar 26, 2025 pm 04:12 PM

이 기사는 PHP의 XSS 공격을 방지하기위한 전략, 입력 소독, 출력 인코딩 및 보안 향상 라이브러리 및 프레임 워크 사용에 중점을 둔 전략에 대해 설명합니다.

PHP 인터페이스 대 추상 클래스 : 각각을 사용할 때.PHP 인터페이스 대 추상 클래스 : 각각을 사용할 때.Mar 26, 2025 pm 04:11 PM

이 기사는 각각의 사용시기에 중점을 둔 PHP의 인터페이스 및 추상 클래스 사용에 대해 설명합니다. 인터페이스는 관련없는 클래스 및 다중 상속에 적합한 구현없이 계약을 정의합니다. 초록 클래스는 일반적인 기능을 제공합니다

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.