현재 위치: > 최신 기사 목록> 사용자 정의 태그를 HTML 요소로 변환하십시오

사용자 정의 태그를 HTML 요소로 변환하십시오

M66 2025-05-17

php에서 preg_replace_callback_array 함수는 정규 표현식이 특정 패턴과 일치 할 때 대체하기 위해 콜백 함수를 실행하는 강력한 도구입니다. 복잡한 문자열 교체 작업을 처리 할 수 ​​있습니다. 특히 여러 패턴과 콜백 기능을 처리하려는 경우보다 간결하고 효율적인 방법을 제공합니다.

이 기사는 preg_replace_callback_array를 사용하여 사용자 정의 태그를 HTML 요소로 변환하는 방법을 설명합니다. [custom_tag] 와 유사한 형식의 사용자 정의 태그가 있다고 가정합니다. 이는 표준 HTML 요소 (예 : <div> )로 변환하려고합니다.

1. preg_replace_callback_array 란 무엇입니까?

먼저 preg_replace_callback_array 의 기본 사용법을 이해해야합니다. 이 함수의 구문은 다음과 같습니다.

 preg_replace_callback_array(array $patterns_and_callbacks, string $subject);
  • $ patterns_and_callbacks : 정규 표현식 및 콜백 함수를 포함하는 연관 배열입니다. 각 정규 표현식은 입력 문자열에 적용되며 해당 콜백 함수는 일치 할 때 실행됩니다.

  • $ 제목 : 입력 문자열이 일치하고 교체 할 수 있습니다.

2. 사용자 정의 태그 및 HTML 요소 매핑을 정의하십시오

우리의 임무는 다음과 같은 사용자 정의 태그를 HTML 요소로 변환하는 것입니다.

  • [custom_tag] <div class = "custom-tag"> 태그로 변환합니다

  • [다른 _tag] <span class = "Other-tag"> 태그로 변환합니다

3. 코드 예제를 구현하십시오

다음으로, 우리는 preg_replace_callback_array를 사용 하여이 변환을 완료하기 위해 코드를 작성합니다.

 <?php
// 문자열을 입력하십시오,맞춤형 태그를 포함하십시오
$input_string = "이것은 포함되어 있습니다[custom_tag]상표[/custom_tag]그리고[another_tag]상표[/another_tag]예。";

// 定义正则表达式그리고回调函数
$patterns_and_callbacks = [
    '/\[custom_tag\](.*?)\[\/custom_tag\]/s' => function ($matches) {
        return "<div class='custom-tag'>" . htmlspecialchars($matches[1]) . "</div>";
    },
    '/\[another_tag\](.*?)\[\/another_tag\]/s' => function ($matches) {
        return "<span class='another-tag'>" . htmlspecialchars($matches[1]) . "</span>";
    }
];

// 사용 preg_replace_callback_array 교체하십시오
$result = preg_replace_callback_array($patterns_and_callbacks, $input_string);

// 출력 결과
echo $result;
?>

4. 코드 파싱

  • preg_replace_callback_array 의 첫 번째 매개 변수는 일반 표현식 및 해당 콜백 함수를 포함하는 연관 배열입니다. 정규 표현식이 [custom_tag] 또는 [oper_tag] 태그와 일치하면 해당 콜백 함수가 호출됩니다.

  • 콜백 함수에서는 htmlspecialchars 함수를 사용하여 XSS 공격을 방지하기 위해 태그 컨텐츠를 피합니다.

  • 마지막으로, 원래 사용자 정의 태그는 콜백 함수에 의해 반환 된 HTML 요소로 대체됩니다.

5. 실행 결과

입력 문자열이 다음이라고 가정합니다.

 이것은 포함되어 있습니다[custom_tag]상표[/custom_tag]그리고[another_tag]상표[/another_tag]예。

위의 코드를 실행하면 출력이 다음과 같습니다.

 이것은 포함되어 있습니다<div class='custom-tag'>상표</div>그리고<span class='another-tag'>상표</span>예。

6. 요약

preg_replace_callback_array 는 여러 정기 교체 작업이 필요한 시나리오를 단순화하는 강력한 도구입니다. 이 예에서는 사용자 정의 태그 [Custom_Tag][Oper_Tag] 를 HTML 요소 <Div><Span> 로 성공적으로 변환했습니다.

보다 복잡한 레이블 변환을 처리 해야하는 경우 필요에 따라 콜백 기능의 논리를 확장 할 수 있습니다. 이 기능을 합리적으로 사용하면 다양한 문자열 교체 및 처리 작업을 쉽게 처리 할 수 ​​있습니다.