>백엔드 개발 >PHP 튜토리얼 >PHP_php 팁에서 일반적으로 사용되는 문자열 형식화 함수 요약

PHP_php 팁에서 일반적으로 사용되는 문자열 형식화 함수 요약

WBOY
WBOY원래의
2016-05-16 20:31:181322검색

문자열 서식 지정은 문자열을 특정 형식으로 처리하는 것입니다. 일반적으로 사용자가 양식에서 서버로 제출하는 데이터는 문자열 형식입니다. 원하는 출력 효과를 얻으려면 사용하기 전에 이러한 문자열을 특정 형식으로 처리해야 합니다. 흔히 볼 수 있는 문자열 서식 지정 함수는 다음과 같습니다.

참고: PHP에서 제공되는 문자열 함수로 처리되는 대부분의 문자열은 원래 문자열을 수정하지 않고 형식이 지정된 새 문자열을 반환합니다.

1. 공백 및 문자열 패딩 기능 제거

공백도 유효한 문자이며 문자열에서 한 자리를 차지합니다. 사용자가 양식에 데이터를 입력할 때 의도치 않게 의미 없는 공간을 추가로 입력하는 경우가 많습니다. 따라서 PHP 스크립트는 양식을 통해 처리된 데이터를 수신할 때 가장 먼저 처리하는 것은 문자열의 추가 공백이나 기타 의미 없는 기호입니다. 이 작업은 PHP에서 ltrim(), rtrim() 및 Trim() 함수를 통해 수행할 수 있습니다. 이 세 함수의 구문 형식은 동일하지만 기능이 다릅니다. 구문 형식은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

string ltrim(string str[,string charlist]) //문자열 왼쪽에서 공백이나 기타 미리 정의된 문자를 제거합니다.
string rtrim(string str[,string charlist]) //문자열 오른쪽에 있는 공백 문자나 기타 미리 정의된 문자를 제거합니다.
string Trim(string str[,string charlist]) //문자열 양쪽 끝에서 공백 문자나 기타 미리 정의된 문자를 제거합니다.

이 세 가지 함수는 각각 문자열의 왼쪽, 오른쪽 및 양쪽 끝에서 공백 문자나 기타 미리 정의된 문자를 제거하는 데 사용됩니다. 처리된 결과는 새 문자열 형식으로 반환되며 원래 문자열에서는 수정되지 않습니다. 첫 번째 매개변수 str은 처리할 문자열이며 필수입니다. 두 번째 매개변수 charlist는 제거하려는 특수 기호를 지정하는 데 사용되는 필터 문자열입니다. 필터 문자열을 지정하지 않으면 기본적으로 다음 문자가 제거됩니다.

★"":공간
★”0”:NULL
★””:탭
★” ”:개행
★” ":

을 입력하세요.

또한 ".." 기호를 사용하여 제거해야 하는 범위를 지정할 수도 있습니다. 예를 들어 "0..9" 또는 "a..z"를 사용하면 ASCII에서 숫자와 소문자를 제거할 수 있습니다. 코드 값. 사용코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

$str = "123 This is a test ..." //왼쪽에는 숫자, 오른쪽에는 줄임표
로 시작하는 테스트 문자열을 선언합니다. echo ltrim($str,"0..9"); //문자열 왼쪽의 숫자를 필터링하여 출력합니다. 이것은 테스트입니다...
echo rtrim($str,".") //문자열 오른쪽의 "."를 모두 필터링하여 출력: 123 테스트입니다
echo Trim ($str, "0..9 A..Z ."); //문자열 양쪽 끝의 숫자, 대문자 및 "."를 필터링하여 출력합니다.
?>

필요에 따라 문자열의 내용을 필터링할 수 있을 뿐만 아니라 str_pad() 함수를 사용하여 필요에 따라 문자열을 채울 수도 있습니다. 데이터 페어링 및 배열과 같은 일부 민감한 정보를 보호하는 데 사용할 수 있습니다. 해당 기능의 프로토타입은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

문자열 str_pad(문자열 입력,int pad_length[,string pad_string[,int pad_type]])

이 함수에는 4개의 매개변수가 있으며 첫 번째 매개변수는 처리할 문자열을 지정합니다. 두 번째 매개변수는 처리된 문자열의 길이를 제공합니다. 값이 원래 문자열의 길이보다 작으면 작업이 수행되지 않습니다. 세 번째 매개변수는 패딩에 사용되는 문자열을 지정하는 선택적 매개변수입니다. 지정하지 않으면 기본적으로 공백이 사용됩니다. 마지막 매개변수는 패딩 방향을 지정합니다. 이 값에는 STR_PAD_BOTH, STR_PAD_LEFT, STR_PAD_RIGHT라는 세 가지 선택적 값이 있으며, 이는 각각 문자열의 왼쪽과 오른쪽 양쪽 끝의 패딩을 나타냅니다. 또한 선택적 매개변수이며 지정하지 않은 경우 기본값은 STR_PAD_RIGHT입니다. str_pad() 함수의 사용 코드는 다음과 같습니다.
코드 복사 코드는 다음과 같습니다.

$str = "램프";
echo str_pad($str,10); //지정된 길이는 10이며, 기본적으로 공백을 사용하여 오른쪽 "LAMP"를 채웁니다.
echo str_pad($str,10,"-="STR_PAD_LEFT); //길이를 10으로 지정하고 "-=-=-=LAMP"를 왼쪽에 패딩하도록 지정
echo str_pad($str,10,"_"STR_PAD_BOTH); //길이를 10으로 지정하고, 왼쪽에 "___LAMP___"을 추가하도록 지정합니다.
?>

2. 문자열 대소문자 변환

PHP에는 4가지 문자열 대소문자 변환 함수가 제공됩니다. 이들 함수에는 모두 변환할 문자열을 전달하는 하나의 선택적 매개변수만 있습니다. 이러한 함수를 직접 사용하여 대소문자 변환 작업을 완료할 수 있습니다. strtoupper() 함수는 주어진 문자열을 모두 대문자로 변환하는 데 사용되며, strtolower() 함수는 주어진 문자열을 모두 소문자로 변환하는 데 사용됩니다. ucfirst() 함수는 주어진 문자열의 모든 문자를 변환하는 데 사용됩니다. 첫 번째 문자는 대문자로 변환되고 나머지 문자는 변경되지 않은 채로 유지됩니다. ucwords() 함수는 주어진 문자열에서 공백으로 구분된 모든 단어의 첫 번째 문자를 대문자로 변환하는 데 사용됩니다. 다음 프로그램은 아래와 같이 이러한 기능의 사용 코드입니다.

코드 복사 코드는 다음과 같습니다.

$lamp = "램프는 Linux, Apache, MySQL, PHP로 구성되어 있습니다.";
echo strtolower($lamp); //출력: 램프는 linux, apache, mysql 및 php로 구성됩니다
echo strtoupper($lamp); //출력: LAMP는 LINUX, APACHE, MYSQL 및 PHP로 구성됩니다
echo ucfirst($lamp); //출력: Lamp는 Linux, Apache, MySQL 및 PHP로 구성됩니다
echo ucwords($lamp); //출력: 램프는 Linux, Apache, MySQL 및 PHP로 구성됩니다
?>

이러한 함수는 설명에 설명된 대로만 작동합니다. 문자열의 첫 글자가 대문자이고 나머지가 소문자인지 확인하려면 일치 방법을 사용해야 합니다. 아래와 같이:
코드 복사 코드는 다음과 같습니다.

$lamp = "램프는 Linux, Apache, MySQL, PHP로 구성되어 있습니다.";
echo ucfirst(strtolower($lamp)); //출력: Lamp는 linux, apache, mysql 및 php로 구성됩니다
?>

3. HTML 태그 관련 문자열 서식

URL에 첨부된 HTML 입력 양식과 리소스는 사용자가 서버에 데이터를 제출하는 방법입니다. 제대로 처리하지 않으면 해커가 서버를 공격하는 진입점이 될 수 있습니다. 예를 들어, 사용자가 기사를 게시할 때 기사에 일부 HTML 형식 태그나 JavaScript 페이지 리디렉션 코드가 포함되어 있으면 페이지 레이아웃이 직접 출력되어 표시되면 확실히 변경됩니다. 이러한 코드는 브라우저로 전송되므로 브라우저는 이를 유효한 코드로 해석합니다. 따라서 PHP 스크립트에서는 사용자가 제출한 데이터 콘텐츠를 먼저 처리해야 합니다. PHP는 HTML 텍스트의 출력을 효과적으로 제어할 수 있는 매우 포괄적인 범위의 HTML 관련 문자열 형식 지정 기능을 제공합니다.

①nl2br() 함수

브라우저에 출력되는 "
" 문자열은 새로운 줄을 표시하며 많은 사람들이 " "개행 기호이지만 브라우저는 이 문자열의 개행 문자를 인식하지 못합니다. 여러 줄의 텍스트가 있어도 브라우저에는 이 줄만 표시됩니다. nl2br() 함수는 각 줄에 새 줄을 추가하는 것입니다. 문자열" " 앞에 HTML 줄바꿈 문자 "
"를 삽입합니다. 이 함수의 사용법은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

echo nl2br("한 줄.n다른 줄."); //In " "
" 마크
/*다음 두 줄의 결과를 출력합니다
한 줄.

또 한줄.
*/
?>

②함수 htmlspecialchars()

브라우저가 HTML 태그를 직접 구문 분석하지 않도록 하려면 HTML 태그의 특수 문자를 HTML 엔터티로 변환해야 합니다. 예를 들어, "<"를 ">"로 변환합니다. 이런 방식으로 HTML 태그 브라우저는 이를 구문 분석하지 않고 HTML 텍스트를 브라우저에 있는 그대로 출력합니다. PHP에서 제공되는 htmlspecialchars() 함수는 미리 정의된 일부 문자열을 HTML 엔터티로 변환할 수 있습니다. 이 기능은 사용자가 제공한 텍스트에 게시판이나 게스트 게시판과 같은 HTML 태그가 포함되지 않도록 하는 데 사용됩니다. 이 함수로 다음 문자를 변환할 수 있습니다:

★ "&"(암페어)는 "&"로 변환됩니다.
★"""(큰따옴표)는 """로 변환됩니다.
★"'"(작은따옴표)는 "'"로 변환됩니다.
★"<"(보다 작음)은 "<"로 변환됩니다.
★">"(보다 큼)은 ">"로 변환됩니다.

이 함수의 프로토타입은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

string htmlspecialchars(string string [,int quote_style[,string charset]])

이 함수의 첫 번째 매개변수는 처리할 HTML 태그가 포함된 문자열입니다. 두 번째 매개변수는 따옴표 변환 방법을 결정하는 데 사용됩니다. 기본값은 큰 따옴표만 변환하고 작은 따옴표를 유지하는 ENT_COMPAT입니다. ENT_QUOTES는 두 가지 유형의 따옴표를 모두 변환하고 ENT_NOQUOTES는 따옴표를 변환하지 않습니다. 세 번째 매개변수는 처리되는 문자열의 문자 세트를 지정하는 데 사용됩니다. 기본 문자 세트는 "ISO88511-1"입니다.

코드 복사 코드는 다음과 같습니다.



$str = "WebServer: & 'Linux' & 'Apache'" //HTML 태그와 작은따옴표가 포함된 문자열
echo htmlspecialchars($str,ENT_COMPAT); //HTML 태그 변환 및 큰따옴표 변환
echo "
n";
echo htmlspecialchars($str,ENT_QUOTES); //HTML 태그 변환 및 두 종류의 따옴표 변환
echo "
n";
echo htmlspecialchars($str,ENT_NOQUOTES); //HTML 태그 변환 및 인용 해제 변환
echo "
n";
?>

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.