trim() 함수, PHP, 공백 및 문자 제거, 워드프레스

PHP.. trim() 함수.. var_dump() 이용한 결과 비교.. 시작과 마지막 문자 제거.. 특정 문자 지정 혹은 범위 지정 후 문자 제거..

 

나이 먹고 머리가 굳어 버려서 그런지 마음처럼 공부하는 게 쉽지는 않군요. 그래도 매일 조금씩 진도를 나가며 웹프로그래밍과 관련된 것들을 익혀 나가고 있네요.

 

현재는 워드프레스 파일들의 소스를 들여다 보면서 그때 그때 필요한 HTML, PHP, javascript 등을 익혀 나가고 있습니다.

 

워드프레스의 wp-comments-post.php 파일 내용을 살펴보니 아래와 같은 부분이 나오네요.

 

$comment_author = ( isset($_POST[‘author’]) ) ? trim(strip_tags($_POST[‘author’])) : null;
$comment_author_email = ( isset($_POST[’email’]) ) ? trim($_POST[’email’]) : null;
$comment_author_url = ( isset($_POST[‘url’]) ) ? trim($_POST[‘url’]) : null;
$comment_content = ( isset($_POST[‘comment’]) ) ? trim($_POST[‘comment’]) : null;

 

여기서 볼 것은 PHP에서 trim() 함수입니다.

 

PHP에서 trim() 함수는 문자열의 시작 부분과 마지막 부분에 공백( 혹은 특수문자 )을 포함하고 있으면 이를 제거한 후 문자열을 반환해주는데요. 사용 방법은 다음과 같습니다.

 

string trim ( string $str [, string $charlist ] ) ( PHP 4, PHP 5 )

 

문자열의 시작 부분과 마지막 부분에 아래와 같은 공백 혹은 특수문자가 포함되어 있을 경우 trim() 함수를 사용하면 제거됩니다.

 

” ”       : (ASCII 32 (0x20))    : 공백

“t”      : (ASCII 9 (0x09))      : 탭

“n”     : (ASCII 10 (0x0A))    : 개행문자

“r”      : (ASCII 13 (0x0D))    : 캐리지 리턴

“�”     : (ASCII 0 (0x00))      : NULL

“x0B” : (ASCII 11 (0x0B))    : 수직 탭

 

만약 $charlist 부분에 특정 문자를 지정해 줄 경우 해당 문자들이 제거됩니다. 특정 범위의 문자를 제거할 수도 있는데요. 사용법은 다음과 같습니다.

 

$text = “Hello world”;
$result = trim($text, “Held”); // 특정 문자 ‘H’, ‘e’, ‘l’, ‘d’ 지정

var_dump($result); // 결과 : string(5) “o wor”

$text = “HelLo world”;
$result = trim($text, “A..Z”); // 대문자 A부터 Z까지 범위 지정

var_dump($result); // 결과 : string(10) “elLo world”

$text = “HelLo worlD”;
$result = trim($text, “A..Z”);

var_dump($result); // 결과 : string(9) “elLo worl”

$text = “Hello world”;
$result = trim($text, “a..z”); //소문자 a부터 z까지 범위 지정

var_dump($result); // 결과 : string(6) “Hello “

$text = “Hello world”;
$result = trim($text, “A..Z a..z”); // A~Z, a~z, 공백(” “) 지정

var_dump($result); // 결과 : string(0) “”

$text = “123456789Hello world”;
$result = trim($text, “1..8a..z”); // 1~8, a~z 지정

var_dump($result); // 결과 : string(7) “9Hello ”

 

위의 결과에서 알 수 있듯이 $charlist 부분에 특정 문자를 지정하던 혹은 범위를 지정하던 해당 문자열의 처음 혹은 마지막에 지정된 문자가 있어야만 제거되는 것을 볼 수 있습니다.

 

PHP에서 var_dump($var1, $var2,…) 함수는 배열의 키와 그에 해당하는 값 뿐만 아니라 속성까지 표시하는 출력문입니다.

 

이외에도 시작 부분만 지우고자 할 때는 ltrim() 함수를 사용하면 되고, 마지막 부분만 지우고자 할 때는 rtirm() 함수를 사용하면 됩니다. 두 함수 모두 사용 방법은 trim() 함수와 동일하니 참고하세요.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다