php 문자열 찾기
php 문자열 함수에서 문자열을 찾는 함수에 대해 알아보겠습니다.
문자열 함수 strpos, stripos, strstr을 사용하여 문자열을 찾을 수 있습니다.
정규식 패턴을 이용하는 reg_match, reg_match_all을 사용하여 문자열을 찾을 수 있습니다.
strpos
: 찾는 문자열에서첫번째로 매칭된 position 값
을 반환합니다.stripos
: 찾는 문자열에서첫번째로 매칭된 position 값
을 반환합니다.(대소문자를 구분하지 않습니다.
)strstr
: 찾는 문자열이 존재하면찾는 문자열을 포함한 나머지 문자열
을 반환합니다.reg_match
:정규식 패턴
을 이용하여 일치하는첫번째
문자열을 찾습니다.reg_match_all
:정규식 패턴
을 이용하여 일치하는모든
문자열을 찾습니다.
- strpos
대상 문자열에서 찾는 문자열의 시작 위치(position)
를 반환합니다.
<?php
$str = 'hi hi, welcome to the php world.';
$find = 'php';
$pos = strpos($str, $find);
echo $pos;
// output: 22
$find = 'welcome';
$pos = strpos($str, $find);
echo $pos;
// output: 7
$find = 'hello';
$pos = strpos($str, $find);
echo var_dump($pos);
// output: bool(false)
?>
INFO: 문자열이 존재하지 않는 경우
false
를 반환합니다.
- stripos
대상 문자열에서 찾는 문자열의 시작 위치(position)
를 반환합니다.
대소문자를 구분하지 않습니다.
<?php
$str = 'hi hi, welcome to the php world.';
$find = 'WORld';
$pos = stripos($str, $find);
echo $pos;
// output: 26
$find = 'WeLcOmE';
$pos = stripos($str, $find);
echo $pos;
// output: 7
?>
INFO:
strpos와 stripos의 차이
는대소문자를 구분
하느냐 하지 않느냐의 차이입니다.
- strstr
찾는 문자열이 존재하면 찾는 문자열을 포함한 나머지 문자열
을 반환합니다.
Syntax: strstr ( string $haystack , mixed $needle [, bool $before_needle = FALSE ] )
<?php
$str = 'hi hi, welcome to the php world.';
$find = 'to';
$pos = strstr($str, $find);
echo $pos;
// output: to the php world.
$find = 'to';
$pos = strstr($str, $find, true);
echo $pos;
// output: "hi hi, welcome "
?>
INFO: $before_neelde = true로 하면
문자열의 처음부터 일치하는 문자열을 제외한 문자열
을 반환합니다.
- preg_match
정규식 패턴
을 이용하여 대상 문자열에서 일치하는 문자열을 찾습니다.
일치하는 문자를 찾은 경우 더 이상 검색하지 않습니다.
preg_match: preg_match ( string $pattern , string subject [, array &matches [, int $flags = 0 [, int $offset = 0 ]]] )
검색된 결과를 $matches 배열 변수에 반환합니다.
<?php
$str = 'hi hi, welcome to the php world.';
preg_match('/(hi)|(welcome)/', $str, $matches);
print_r($matches);
// print
// Array
// (
// [0] => hi
// )
?>
INFO: 일치하는 값을 찾는 경우 더 이상 검색하지 않고 바로 결과를 반환합니다.
모든 값을 찾고 싶은 경우preg_match_all
을 사용할 수 있습니다.
- preg_match_all
정규식 패턴
을 이용하여 대상 문자열에서 일치하는 모든 문자열을 찾습니다.
preg_match_all: preg_match_all ( string $pattern , string subject [, array &matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )
검색된 결과를 $matches 배열 변수에 반환합니다.
<?php
$str = 'hi hi, welcome to the php world.';
preg_match_all('/hi/', $str, $matches);
print_r($matches);
// print
// Array
// (
// [0] => Array
// (
// [0] => hi
// [1] => hi
// )
// )
?>
INFO: 정규식 flag //g 를 적용한 결과를 볼 수 있습니다.
php 문자열 함수, php 문자열 찾기, php 문자열 검색, php 문자 찾기, php 문자 검색, php 문자 갯수, php 문자열 정규식
'php' 카테고리의 다른 글
php 문자열 길이 length (0) | 2021.01.06 |
---|