DateTime::__construct(): Failed to parse time string ( 13 March 2023) at position 0 (�): Unexpected character
사용한 코드는 아래와 같다. 날짜 변환함수를 사용하는데, 위와 같은 에러가 발생하였다.
try {
$strCommentDate = new DateTime($strCommentDate);
} catch(Exception $e) {
echo $e->getMessage();
}
예기치 않은 문자(인쇄할 수 없거나 인식할 수 없는 문자)가 포함되어있어서 실패하게 된 것이다.
다른 여러 방법들도 있겠지만, 정규식을 통해 해결하였다.
preg_replace('/[^\x20-\x7E]/', '', $text);
위 정규식은 ASCII 문자 범위(10진수 코드 32~126)를 벗어나는 모든 문자를 빈 문자열로 바꾸어주기 때문에,
인쇄할 수 없거나 인식할 수 없는 문자를 제거할 수 있다.
'Development > PHP' 카테고리의 다른 글
[PHP] 특정 태그 제거가 안될 때 해결방법 (0) | 2023.03.22 |
---|---|
[PHP] 내가 작성한 코드 리팩토링 하기 (0) | 2023.03.22 |
[PHP] 텍스트 깨지는 경우(인코딩) (0) | 2023.03.10 |
[PHP] iconv 사용 시 텍스트가 잘릴 때 (0) | 2023.01.26 |
openssl 연동의 늪(해결 완료) (0) | 2023.01.19 |