- (이스캐이핑)
- 제어문자(태그와 스크립트)를 모두 표시되는 문자로 변환
- 기능이 무력화 되어 해킹 방지 효과
- 특수문자를 그대로 표시, \ ==> \\
$str = '<i>italic</i><b>[    X "엑스"    ]</b></h1><script>console.log("x");</script>';
echo '<input type="text" style="width:100%" value="2' . htmlentities($str) . '">';
//==============
* htmlspecialchars()
http://php.net/manual/en/function.htmlspecialchars.php
https://www.w3schools.com/php/func_string_htmlspecialchars.asp
- 이스케이프
- 옵션(flags)
ENT_COMPAT 큰따옴표(") 만 변환
ENT_QUOTES 따옴표(" ') 둘 모두 변환
- html 요소값으로 사용될 경우 사용, html 요소값은 큰따옴표(")로 묶는 것을 권장
, 큰따옴표로 묶으면 ENT_QUOTES 옵션은 필요없음
ENT_NOQUOTES 따옴표 모두 변환 안함 (그대로 놔둠)
* htmlspecialchars_decode
- htmlspecialchars 가 변환한 문자열을 원래대로 복원
- 빈칸은 복원 안함(?)
//==========
* htmlentities
- 모든 문자를 엔티티로 변환, 한글(영어 이외의 문자)이 깨질 가능성 있음
* html_entity_decode
- htmlentities가 변환한 문자열을 원래대로 복원
- 빈칸도 복원?
//===========================
//
* strip_tags
- html 태그 제거, 허용할것 지정 가능
strip_tags($input, '<a><h1><h2><h3><h4><h5><ul><ol><li>');
//==========================
라라벨
clean() (= Purifier::clean())
- 일반적인 html tag 만 남기고 나머지는 없앰
e() (=htmlspecialchars())
'Code > PHP' 카테고리의 다른 글
[php] xDebug 사용법 (0) | 2019.02.16 |
---|---|
[php] Thread Safe, Non Thread Safe 차이 (0) | 2019.02.15 |
PHP 버전 역사 (0) | 2019.02.11 |
[php] PEAR , PECL , composer (0) | 2019.01.31 |
컴포저 버전 표기 문자 의미 (0) | 2019.01.20 |