inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

PHP 7+ 프로그래밍

23 - PCRE

preg_replace_callback 질문드립니다.

439

김철준

작성한 질문수 45

0

var_dump(preg_replace_callback('/^(.*)@(.*)$/',
    function($matches){
    return $matches;
}, 'hmmi@kakao.com'));

 

이렇게 했을 때 오류가 나타나는 이유가 뭘까요??

 

php

답변 1

1

정상우

이 코드를 보면 경고를 던집니다. 배열을 문자열로 변환할 수 없다고 말이죠. preg_replace_callback() 의 두번째 파라매터에 들어가는 콜백은 반환 값이 배열이 아닌 문자열이어야 합니다.

PHP: preg_replace_callback - Manual

callback

A callback that will be called and passed an array of matched elements in the subject string. The callback should return the replacement string. This is the callback signature:

handler(array $matches): string


$matches
는 배열이죠. 따라서 다음과 같이 수정할 수 있습니다.

$str = preg_replace_callback(
    '/^(.*)@(.*)$/',
    function ($matches) {
        [$email, $user, $domain] = $matches;

        return $email;
    }, 
    'hmmi@kakao.com'
);

var_dump($str);

53강 레이아웃에서 css git 링크 관련 질문입니다.

0

42

2

[섹션 5]레포지토리 소스파일 오류 위치, 수정 제안

0

183

1

add configuratio.. 자체에

0

269

2

터미널에 글이 안써집니다.

0

639

1

일반적으로 쓰이지 않는 폰트 부분

0

470

1

readmore 클릭시 쿼리내용 받아오는게 이해가 안되요

0

499

1

$_GET과 $_POST를 구별하여야한다고 하는데 이건 왜 $_GET입니까 콜백이라서 그런가요? 왜콜백은 그래도 되나요?

0

477

1

xdebug 설치가 안됩니다.

0

401

1

xdebug 설치 확인 페이지가 안열립니다

0

362

1

if ~ elseif ~ else 문법 표준적인 코딩 방법에 대한 질문입니다.

1

528

1

mysqli_stmt_close($stmt) 관련 질문드립니다.

0

320

1

DB_CONNECTION 부분 질문

0

269

1

FILTER_VALIDATE FILTER_SANITIZE 차이를 모르겠습니다.

0

298

1

결과 ...

0

246

1

random_bytes

0

321

1

호스팅에 php 코드 업로드하면 hash 로직이 보이진 않을까요?

0

269

1

버퍼링 궁금한 점이 있습니다.

0

289

1

restore_include_path 오류

0

319

1

php 에러발생..

0

3760

3

터미널로 php 실행시 document root 지정

0

247

1

posts가 null이라고 나옵니다.

0

214

2

rand() vs random_int() 차이점?

0

524

1

php 8 로 하시는 분들을 위한 ini 팁

1

519

1

xdebug 뭔짓을해도 안됩니다

0

223

1