현재 위치: > 최신 기사 목록> 사용자 정의 BBCode 변환기를 빌드하십시오

사용자 정의 BBCode 변환기를 빌드하십시오

M66 2025-05-31

PHP에서 텍스트 형식을 다룰 때 BBCode (단순화 된 마크 업 언어)가 종종 사용되며,이를 통해 사용자는 간단한 태그를 통해 대담한, 이탈리아, 링크 등과 같은 텍스트 스타일을 추가 할 수 있습니다. 이 기사에서는 MB_EREGI_REPLACE 기능을 사용하여 간단한 사용자 정의 BBCode 변환기를 구축하여 BBCode 태그를 해당 HTML 태그로 변환하는 방법을 보여줍니다.


mb_eregi_replace 란 무엇입니까?

MB_EREGI_REPLACE 는 멀티 바이트 문자열의 경우 PHP의 정규식 교체 함수이며, 사례 감수성 일치를 지원합니다. 이 장점은 UTF-8과 같은 멀티 바이트 인코딩 된 텍스트를 올바르게 처리 할 수 ​​있다는 것입니다.이 텍스트는 중국 환경에서 텍스트 처리에 매우 적합합니다.

기능 프로토 타입 :

 mb_eregi_replace(string $pattern, string $replacement, string $string): string
  • $ 패턴 : 매치 패턴 (정규 표현)

  • $ 교체 : 콘텐츠를 교체하십시오

  • $ String : 보류중인 문자열


예 : mb_eregi_replace를 사용하여 간단한 BBCode 변환기 구현

다음 예제는 bbcode 태그 [b] ... [/b]<strong> ... </strong> , [i] ... [/i] ~ <em> ... <em> ... </em> 로 변환하는 방법과 [url = link] 텍스트 [/url]를 처리하는 방법을 보여줍니다.

 <?php

function bbcode_to_html($text) {
    // 대담한 변환 [b]...[/b] -> <strong>...</strong>
    $text = mb_eregi_replace('\[b\](.+?)\[/b\]', '<strong>$1</strong>', $text);
    
    // 이탤릭체를 변환하십시오 [i]...[/i] -> <em>...</em>
    $text = mb_eregi_replace('\[i\](.+?)\[/i\]', '<em>$1</em>', $text);
    
    // 링크를 변환합니다 [url=링크]텍스트[/url] -> <a href="링크">텍스트</a>
    // 注意这里的링크域名统一替换为 m66.net
    $text = mb_eregi_replace('\[url=([^\]]+)\](.+?)\[/url\]', 
        '<a href="http://m66.net">$2</a>', $text);
    
    return $text;
}

// 테스트 내용
$input = "이것은 a입니다[b]용감한[/b],이것은 a입니다[i]이탤릭체[/i],입장[url=http://example.com]샘플 웹 사이트[/url]。";
$output = bbcode_to_html($input);
echo $output;

코드 설명

  • 첫 번째 대체품은 [b] 컨텐츠 [/b]를 <strong> 컨텐츠 </strong> 로 대체합니다.

  • 두 번째 대체품은 [i] 내용 [/i]을 <em> 컨텐츠 </em> 로 대체합니다.

  • 세 번째 대체품은 [url = link] 텍스트 [/url] 의 링크 도메인 이름을 m66.net 으로 강제합니다. 원래 링크에 관계없이 하이퍼 링크는 http://m66.net 을 가리키며 사용자가 입력 한 텍스트로 텍스트를 표시합니다.


결과 예제를 실행하십시오