PHP
PHP 문자열 자르기, 예제로 쉽게 알아보자!
규루리
2023. 8. 24. 14:54
substr()
설명
substr : 문자열을 정해진 길이만큼 잘라서 리턴하는 함수
사용법
substr(string $string, int $start, [int $length]);
string : 문자열(글자)를 자를 변수 또는 문자열
start : 잘라낼 문자열의 위치를 지정합니다. PHP는 기본적으로 0부터 시작합니다.
length : 생략이 가능하며, 문자열 길이만큼의 수를 작성하시면됩니다.
※ 한글을 자를때에는 mb_substr()을 활용합니다. (아래 참조)
출력예제 1
<?php
echo substr('ABCDEF', 0, 4); // 0번째부터 4글자
echo "<br/>";
echo substr("ABCDEF", -1); // 뒤에서부터 1글자
echo "<br/>";
echo substr("ABCDEF", -3, 1); // 뒤에서 3번째부터 1개글자
?>
결과화면 1
ABCD
F
D
출력예제 2
<?php
$phone = "01099991234";
$result = substr($phone, 0, 3).'-'.substr($phone, 3, 4).'-'.substr($phone, -4);
echo $result;
?>
결과화면 2
010-9999-1234
mb_substr()
설명
mb_substr : 문자열을 정해진 길이만큼 잘라서 리턴하는 함수 (substr과 방식은 동일)
사용법
substr(string $string, int $start, [int $length], string[$encoding]);
string : 문자열(글자)를 자를 변수 또는 문자열
start : 잘라낼 문자열의 위치를 지정합니다. PHP는 기본적으로 0부터 시작합니다.
length : 생략이 가능하며 문자열 길이만큼의 수를 작성하시면됩니다.
encoding : 생략이 가능하며 UTF-8 , euc-kr 등 인코딩 방식을 작성합니다
출력예제 1
<?php
// 현재 테스트하고 있는 서버는 utf-8로 구성되어 있습니다.
$string = '안녕하세요!';
echo mb_substr($string, 0, 3, 'utf-8'); // UTF-8 인코딩인 경우
echo "<br/>";
echo mb_substr($string, 0, 2); // 인코딩 생략
echo "<br/>";
echo mb_substr($string, 0, 3, 'euc-kr'); // EUC-KR 인코딩인 경우
echo "<br/>";
echo substr($string, 0, 4); // 한글문자열을 substr
?>
결과화면 1
안녕하
안녕
안�
안�
한글인 경우에 mb_substr() 함수를 사용하는것을 권장합니다.
728x90
반응형