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
반응형