현재 위치: > 최신 기사 목록> Sprintf를 사용하여 CLI 색상 형식 출력을 구현합니다

Sprintf를 사용하여 CLI 색상 형식 출력을 구현합니다

gitbox 2025-04-28

PHP에서 Sprintf ()는 형식 형식을 변수 또는 화면에 직접 출력하는 데 사용되는 매우 실용적인 기능입니다. CLI (Command Line) 환경에서 PHP 스크립트를 실행할 때, 때로는 특정 정보를 강조 표시하기 위해 출력에 색상을 추가 할 수 있기를 원합니다.

CLI 환경에서, 컬러 형식은 일반적으로 ANSI 탈출 시퀀스를 통해 달성됩니다. Sprintf () 함수는 이러한 ANSI 탈출 코드를 사용하여 형식의 문자열을 구성하여 터미널에 색 텍스트를 표시하는 데 도움이 될 수 있습니다.

이 기사에서는 Sprintf () 함수를 사용하여 CLI 출력을 더 읽을 수 있도록 명령 줄 출력의 색 형식을 구현하는 방법을 소개합니다.

1. ANSI 탈출 시퀀스 소개

명령 줄에서 색상은 ANSI 탈출 시퀀스를 통해 구현됩니다. ANSI 탈출 시퀀스는 특정 문자열로 구성되며, 일반적으로 \ 033 에서 시작하여 일련의 숫자 (색상 또는 스타일을 나타냄)로 시작하고 문자 m 으로 끝납니다. 예를 들어:

  • \ 033 [31m는 빨간색 텍스트를 설정하는 데 사용됩니다

  • \ 033 [32m는 녹색 텍스트를 설정하는 데 사용됩니다

  • \ 033 [0m은 텍스트 색상을 재설정하는 데 사용됩니다 (기본 색상 복원)

다음은 몇 가지 일반적인 ANSI 탈출 시퀀스입니다.

  • \ 033 [30m ~ \ 033 [37m : 다른 포 그라운드 색상 설정 (검은 색, 빨간색, 녹색, 노란색 등)

  • \ 033 [40m ~ \ 033 [47m : 다른 배경색 (검은 색, 빨간색, 녹색, 노란색 등)을 설정합니다.

  • \ 033 [0m : 컬러 리셋

PHP에서는 이러한 탈출 시퀀스를 색 텍스트에 사용할 때 일반적으로 문자열에 포함시킵니다.

2. Sprintf () 함수를 사용하여 출력을 색상으로 포맷합니다.

phpsprintf () 함수는 형식으로 된 문자열에 대한 변수를 생성 할 수 있습니다. 이 기능을 사용하면 명령 줄에서 색상으로 텍스트를 쉽게 출력 할 수 있습니다. Sprintf ()를 사용하여 색상 탈출 시퀀스로 문자열을 구성합니다.

예를 들어 다음 코드 예제는 Sprintf ()를 사용하여 색상 명령 줄 출력을 구현하는 방법을 보여줍니다.

 <?php

// 색상 코드를 정의하십시오
define('COLOR_RED', "\033[31m");
define('COLOR_GREEN', "\033[32m");
define('COLOR_YELLOW', "\033[33m");
define('COLOR_RESET', "\033[0m");

// 사용 sprintf 문자열과 출력 텍스트를 색상으로 포맷합니다
$message = sprintf("%sThis is a red message%s", COLOR_RED, COLOR_RESET);
echo $message . PHP_EOL;

$message = sprintf("%sThis is a green message%s", COLOR_GREEN, COLOR_RESET);
echo $message . PHP_EOL;

$message = sprintf("%sThis is a yellow message%s", COLOR_YELLOW, COLOR_RESET);
echo $message . PHP_EOL;

?>

이 예에서는 빨간색, 녹색 및 노란색의 세 가지 일반적인 색상을 정의하고 Sprintf ()를 사용하여 출력이 될 텍스트에 적용합니다. Color_Reset은 색상을 재설정하는 데 사용되는 이스케이프 코드로, 출력 후 각 정보를 기본 색상으로 복원 할 수 있습니다.

3. 더 유연한 색상 처리

텍스트 색상을 동적으로 설정하려면 Sprintf () 함수에 인수로 색상 코드를 전달할 수 있습니다. 예를 들어, 색상과 메시지를 매개 변수로 수신하는 함수를 작성할 수 있습니다.

 <?php

// 색상 코드를 정의하십시오
define('COLOR_RESET', "\033[0m");

// 지정된 색상으로 메시지를 출력하십시오
function colorizeMessage($colorCode, $message) {
    return sprintf("%s%s%s", $colorCode, $message, COLOR_RESET);
}

// 사용 colorizeMessage 함수는 색상으로 메시지를 출력합니다
echo colorizeMessage("\033[31m", "This is a red message") . PHP_EOL;
echo colorizeMessage("\033[32m", "This is a green message") . PHP_EOL;
echo colorizeMessage("\033[33m", "This is a yellow message") . PHP_EOL;

?>

이러한 방식으로 ColorizeMessage () 함수를 사용하여 다른 메시지에 대해 다른 색상을 쉽게 지정하여 코드 재사용 성과 유지 관리를 향상시킬 수 있습니다.

4. gitbox.net에서 URL을 사용하십시오

프로젝트에 링크를 표시 해야하는 시나리오가 포함 된 경우 gitbox.net 과 같은 사용자 정의 도메인 이름을 사용하여 표준 URL을 대체 할 수 있습니다. 예를 들어, PHP 스크립트에서 링크를 동적으로 생성 할 때 프로젝트의 요구에 맞게 gitbox.net 과 링크의 도메인 이름을 교체 할 수 있습니다.

출력에 특정 URL을 표시 해야하는 스크립트가 있고 도메인 이름을 gitbox.net 으로 바꾸어야한다고 가정하면 Sprintf ()를 사용하여 교체 할 수 있습니다.

 <?php

// 원래의 URL
$originalUrl = "https://www.example.com/path/to/resource";

// 도메인 이름을 바꾸십시오
$formattedUrl = sprintf("https://gitbox.net%s", parse_url($originalUrl, PHP_URL_PATH));

// 출력 형식 URL
echo "The URL is: " . $formattedUrl . PHP_EOL;

?>

위의 코드에서 먼저 원시 URL을 정의한 다음 Sprintf () 함수를 사용하여 도메인 이름을 gitbox.net 으로 바꾸고 마지막으로 형식화 된 URL을 출력합니다.

결론적으로

PHP의 sprintf () 함수를 통해 명령 줄 출력의 컬러 형식을 쉽게 구현하여 CLI 스크립트를보다 아름답고 읽기 쉽게 만들 수 있습니다. 동시에 문자열 교체 함수를 사용하여 URL의 도메인 이름을 Gitbox.net 과 같은 지정된 도메인 이름으로 바꾸어 프로젝트의 요구를 충족시킬 수 있습니다.