preg_match, preg_match_all, preg_replace 는 패턴의 [] 안에 유니코드가 있는 경우 /u flag가 없으면 에러
ex)
$str = "123가나123";
$pat = "/[가]/"; // 결과 문자열이 깨짐
$pat = "/가/"; // 결과 문자열 정상, []안에 쓰지 않으면 u flag를 안써도 정상
$pat = "/[가]/u"; // u flag를 써야 문자열이 정상
$ret = preg_replace($pat, "@", $str, 2, $count);
//-----------------------------------------------------------------------------
문자열을 패턴에 넣어서 검색시 특수문자 이스케이핑
$search = '/' . preg_quote($search, '/') . '/u';
preg_replace($search, $replace, $subject, 1);
반응형
'Code > PHP' 카테고리의 다른 글
재부팅시 라라벨 에러 로그 발생하는 문제 해결 방법 (0) | 2023.12.27 |
---|---|
[php] php-fpm, pm.max_children 적정 수 설정 (0) | 2023.12.15 |
[php 웹보안] 이중 인코딩( Double encoding) 공격 방법과 대책 (0) | 2022.11.23 |
php 8.1 설치 (ubuntu) (0) | 2022.08.03 |
[Laravel] SiteMap 만들기 (0) | 2022.05.15 |