티스토리 뷰
게시물 내용에서 html 태그 날리려
strip_tags() 함수를 썼더니
<오전 10시> 와 같이 angle brackets 로 감싸져 있는 문자열도 함께 제거되는 문제가 발생하여
복잡한 대안을 만들었음.
<?php
// 원본 문장
$str = <<<EOF
<오전 10시>
블라<u>블라</u>블라블라<strong>블라</strong>블라블라블라
EOF;
// 함수 적용해보기
$result = getPlainText($str);
// 결과 출력
echo($str);
/**
* @brief plain text 반환 함수
* @description
* angle brackets 문장 보존
*/
function getPlainText($str){
// Remove js, css block
$str = preg_replace('/<script|style\b[^>]*>(.*)<\/script|style>/is', "", $str);
// Remove html comment
$str = preg_replace('/<!--(.|\s)*?-->/', '', $str);
// angle brackets 한글 문장 임시 치환
$str = preg_replace('/<([^<a-zA-Z]+)>/i', '<$1>', $str);
$str = strip_tags($str);
// 임시 치환 했던 angle brackets 복원
$str = str_replace('<', '<', $str);
$str = str_replace('>', '>', $str);
// 줄바꿈 문자 정리
$str = trim($str);
return $str;
}
'웹프로그래밍 > PHP' 카테고리의 다른 글
| Laravel 4.2 queue + redis + sqlite 구성 셋팅 (2) | 2017.08.30 |
|---|---|
| Laravel 쿼리 빌더로 self join 표현법 (0) | 2017.08.08 |
| macOS 용 docker 상의 php Xdebug 와 PHPStrom 연동 방법 (0) | 2016.11.15 |
| PHP 에서 UTC 날짜 KST 로 변환 (0) | 2016.11.09 |
| 내용에 youtube embed 코드 검사 정규식 (0) | 2016.10.23 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- javascript
- nodejs
- API
- mssql
- IOS
- IE
- Mac
- laravel
- Linux
- nginx
- iphone
- macos
- sencha touch
- Wordpress
- centos
- iis
- Docker
- ASP
- git
- Debug
- 한글
- Prototype
- 안드로이드
- Android
- classic asp
- JQuery
- CSS
- 워드프레스
- JSON
- PHP
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
글 보관함