개행 문자
개행 문자란 텍스트의 한 줄이 끝남을 표시하는 문자 또는 문자열이다.
개행 문자, 줄바꿈 문자, EOL(End-Of-Line)과 같은 뜻이다. 기종이나 운영 체제에 따라 새줄 문자를 나타내는 코드가 다를 수도 있다. 그래서 텍스트를 다른 시스템으로 전송할 때 새줄 문자의 치환 작업도 필요하다.
나는 회사에서 윈도우로 개발을 진행하고 있기 때문에, 윈도우 운영 체제를 기반으로 개행 문자를 PHP에서 제거하는 방법을 소개하겠다. 우선 문제가 된 문자열이다.
<p>이달의 소녀와 함께하는 퀴즈대결 컨셉 + 전문가 강의 콜라보레이션<br />
아이돌의 재기발랄한 퀴즈 대결 컨셉을 통해, 지금까지 본 적 없는 “
방송예능형” 직장 내 장애인 인식개선 교육을 만나보자!<br />
걸그룹의 방송형 예능 X 전문가의 전문적 강의의 고품격 콜라보레이션으로
뻔한 학습 내용을 뻔하지 않게! 다채로운 코너 구성의 직장 내 장애인 인식개선 교육!</p>
위 문자열에서 개행 문자는 보이지 않지만 \r\n이 출력에서 보였기 때문에 제거를 해주었다. preg_replace() 함수는 파이썬에서 replace() 함수와 같은 역할을 한다. 인자로 제거할 패턴, 대치할 문자, 대상 문자열을 받는다.
// preg_replace(pattern, replacement, string)
preg_replace('/\r\n|\r|\n/', '', string)
HTML 엔터티
특수코드 문자표라고도 하는 엔터티(Entity)는 HTML 문서에서 특수 문자를 입력하기 위해 사용하는 코드이다.
요즘은 UTF-8을 주로 이용하기 때문에 특수문자가 깨지지 않지만 W3C는 엔티티 코드가 아닌 특수 문자는 오류로 인식하기 때문에 특수 문자는 엔티티 코드로 작성하는 것이 좋다고 한다.
주로 사용되는 엔터티는 아래 표와 같다.
엔티티 코드 | 문자식 표현(Entity Code) | 숫자식 표현(Entity Number) |
< | < | ‹ |
> | > | › |
© | © | © |
" | " | " |
& | & | & |
(공백) | |   |
위 문자열에서는 공백을 나타내는 왼쪽 쌍따옴표를 나타내는 “와 오른쪽 쌍따옴표를 나타내는 &dquo;가 있다. 이를 제거해주기 위해서는 html_entity_decode() 함수를 이용해서 제거해주면 된다. 특별히 다른 인자를 받는 것 같지는 않고, decode 함수가 있듯이 encode 함수도 있다는 정도만 알고 있으면 좋을 것 같다.
// html_entity_decode(string)
html_entity_decode(string)
HTML 태그
HTML 언어를 모르더라도 인터넷을 사용하다보면 자연스럽게 HTML 태그들을 본 적이 있을 것 같다. 태그(tag)는 페이지 요소를 만들 때 사용한다. 문단 태그 <p>처럼, 요소 이름을 부등호 사이에 넣어서 태그를 구성할 수 있다. 닫는 태그는 이름 앞에 슬래시 문자를 </p>와 같이 포함하며, 빈 요소의 경우 닫는 태그가 필요하지 않으며 지정해서도 안된다. 태그에 특성을 지정하지 않으면 기본값을 사용한다.
위 문자열에서는 <p> 태그와 <br> 태그가 사용됐다. <p> 태그는 위 설명과 같이 요소를 만들 때 사용하고, <br> 태그는 줄바꿈을 해준다. 제거하는 방법은 아래와 같다.
// strip_tags(string)
strip_tags(string)
마치며
오늘은 PHP에서 문자열을 가져와 전처리 하는 방법을 알아봤다. 더 다양한 방법들이 있겠다만, 이번 포스팅에서는 preg_replace(), strip_tags(), html_entity_decode() 함수를 알아봤다. 문제가 됐던 문자열의 처리 후 모습도 함께 보여드리며 글을 마친다.
preg_replace('/\r\n|\r|\n/','' ,strip_tags(html_entity_decode(string)))
이달의 소녀와 함께하는 퀴즈대결 컨셉 + 전문가 강의 콜라보레이션
아이돌의 재기발랄한 퀴즈 대결 컨셉을 통해, 지금까지 본 적 없는 “방송예능형”
직장 내 장애인 인식개선 교육을 만나보자!걸그룹의 방송형 예능 X 전문가의 전문적
강의의 고품격 콜라보레이션으로 뻔한 학습 내용을 뻔하지 않게! 다채로운 코너 구성의
직장 내 장애인 인식개선 교육!
'📂 언어 > ◾ PHP' 카테고리의 다른 글
[PHP] CURL로 API 호출할 때 디버깅 하는 방법 (2) | 2023.11.24 |
---|---|
[PHP] ARRAY 내부 한글 깨짐 에러 해결 방법 (2) | 2023.11.24 |
댓글