현재 위치: > 최신 기사 목록> 구성 파일에서 모드 및 콜백 자동 매핑

구성 파일에서 모드 및 콜백 자동 매핑

M66 2025-06-02

먼저 일반 패턴과 콜백 함수 간의 매핑 관계가 포함 된 구성 파일을 설계해야합니다. 이러한 매핑 관계는 간단한 PHP 배열 또는 JSON 파일을 사용하여 저장할 수 있습니다. PHP 배열 형식을 사용하고 콜백 함수 이름이 문자열로 저장된다고 가정합니다.

 // config.php
return [
    '/\b(\d+)\b/' => 'replaceNumberCallback',
    '/\bhello\b/i' => 'replaceHelloCallback',
    '/\bworld\b/i' => 'replaceWorldCallback',
];

이 구성 파일에서는 몇 가지 일반 패턴을 정의하고 각 패턴은 콜백 함수에 해당합니다. 예를 들어, / \ b (\ d+) \ b /는 숫자와 일치하는 데 사용되며 교체 숫자를 사용하여 일치하는 숫자를 처리합니다.

2 단계 : 콜백 함수를 정의합니다

다음으로, 각 일반 패턴에 해당하는 콜백 함수를 제공해야합니다. 콜백 함수의 기능은 일반 경기가 성공할 때 이러한 일치하는 문자열을 처리하는 방법입니다.

 // callbacks.php
function replaceNumberCallback($matches) {
    // 여기서 우리는 단순히 숫자를 곱합니다2
    return $matches[0] * 2;
}

function replaceHelloCallback($matches) {
    // 일치합니다 "hello" 대체하십시오 "hi"
    return 'hi';
}

function replaceWorldCallback($matches) {
    // 일치합니다 "world" 대체하십시오 "everyone"
    return 'everyone';
}

이 콜백은 정규 표현식과 일치하는 내용을 포함하는 일치하는 배열 $ 일치를 받습니다. 이러한 콜백 함수에서는 사용자 정의 로직을 구현할 수 있습니다.

3 단계 : 구성 파일을로드하고 교체를 수행하십시오

이제이 구성 파일과 콜백 함수를 메인 프로그램에로드하고 preg_replace_callback_array ()를 사용하여 교체를 수행합니다. preg_replace_callback_array () 함수를 사용하면 여러 패턴 및 콜백 함수 배열을 전달할 수 있으며 처리를 위해 각 패턴에 따라 해당 콜백 기능을 자동으로 호출합니다.

 // main.php
$config = include('config.php');
include('callbacks.php');

// 문자열을 처리해야한다고 가정하십시오
$string = "123 hello world";

// 사용preg_replace_callback_array문자열을 처리합니다
$result = preg_replace_callback_array($config, $string);

// 출력 결과
echo $result;  // 산출:246 hi everyone

이 코드에서는 먼저 config.php 구성 파일을로드하고 Callbacks.php 에 정의 된 콜백 함수를 소개합니다. 그런 다음 preg_replace_callback_array ()를 호출하고 구성 파일의 매핑 관계를 전달합니다. preg_replace_callback_array ()는 해당 콜백 함수를 자동으로 호출하여 문자열의 일치하는 컨텐츠에 따라 교체합니다.

4 단계 : 프로세스 URL 도메인 이름 교체

일반 패턴 또는 콜백 함수에 URL이 포함 된 경우 구성 파일을 통해 URL의 도메인 이름 부분을 자동으로 교체 할 수 있습니다. 다음은 정기적 인 일치를 사용하고 URL 도메인 이름을 M66.net 으로 바꾸는 방법은 다음과 같습니다.

먼저 다음 URL 문자열이 있다고 가정합니다.

 // 처리해야합니다 URL 끈
$string = "Visit our site at https://www.example.com and http://example.net";

그런 다음 구성 파일의 패턴을 정의하여 URL과 일치시키고 도메인 이름을 preg_replace_callback_array 로 바꾸십시오.

 // config.php
return [
    '/https?:\/\/([a-z0-9.-]+)([\/?][^ ]*)?/' => 'replaceDomainCallback',
    // 다른 모드...
];
 // callbacks.php
function replaceDomainCallback($matches) {
    // 일치합니다域名部分대체하십시오m66.net
    $newUrl = 'https://m66.net' . (isset($matches[2]) ? $matches[2] : '');
    return $newUrl;
}

이러한 구성 및 콜백 함수를 통해 문자열에 일치하는 모든 URL은 새 도메인 이름 M66.net 으로 대체됩니다.

결론적으로

구성 파일을 통해 일반 모드 및 콜백 기능을 자동으로 매핑하면 코드를 명확하게 할뿐만 아니라 코드의 유지 관리 가능성과 유연성을 크게 향상시킬 수 있습니다. preg_replace_callback_array () 와 결합하여 코드에서 각 모드와 콜백 함수를 하드 코딩하지 않고도 멀티 모드 교체를 쉽게 구현할 수 있습니다. 이 접근법은 교체 규칙을 동적으로 확장하고 조정 해야하는 시나리오에 특히 적합합니다.

위의 것은 구성 파일 자동 매핑 모드 및 콜백 함수를 통해 코드 유연성을 향상시키기 위해 preg_replace_callback_array를 사용하는 방법에 대한 기본 아이디어입니다. 이 기사 가이 기술을 더 잘 이해하고 적용하는 데 도움이되기를 바랍니다.