string htmlspecialchars ( string $string [, int $quote_style [, string $charset [, bool $double_encode ]]] )첫 번째 인자는 변환할 문자열을 받구요.
두 번째 인자는 ' 또는 " (single quote 또는 double quote)를 어떻게 처리할 지에 대한 여부를 결정합니다.
- ENT_COMPAT - " (double quote)만 변환합니다.
- ENT_QUOTES - '와 "(single, double quote) 모두 변환합니다.
- ENT_NOQUOTES - 아무것도 변환하지 않습니다. (quote에 대해서)
네 번째 인자는 인자로 받는 문자열에 html 태그가 있는 경우 이를 변환할 지 말지에 대한 flag를 받습니다.
htmlspecialchars()와 반대되는 함수인 htmlspecialchars_decode()도 있습니다. 역으로 변환했던 내용들을 다시 변환해줍니다. 첫 번째, 두 번째 인자는 htmlspecialchars()와 동일합니다.
string htmlspecialchars_decode ( string $string [, int $quote_style ] )만약, 주어진 문자열이 htmlspecialchars()로 변환 되었을 수도 있고 아닐 수도 있는 경우에 정상적으로 페이지를 보여주려면 어떻게 해야할까요?
정답(?): htmlspecialchars_decode()를 호출해 준 다음에 다시 htmlspecialchars()를 호출해줍니다. (입력된 태그를 태그로 처리한다면 답은 아니겠죠;;;;;;;;)
관련자료
- PHP Manual - htmlspecialchars
PHP Manual - htmlspecialchars_decode
댓글 없음:
댓글 쓰기