- (이스캐이핑)

    - 제어문자(태그와 스크립트)를 모두 표시되는 문자로 변환
    - 기능이 무력화 되어 해킹 방지 효과
    - 특수문자를 그대로 표시, \ ==> \\


$str = '<i>italic</i><b>[ &nbsp&nbsp X "엑스" &nbsp&nbsp ]</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
Posted by codens