상세 컨텐츠

본문 제목

PHP 에서 HTML 특수문자 확인하거나 출력하기, URL encoding

IT공부방/HTML5, CSS

by 동해둘리 2019. 8. 6. 17:39

본문

반응형

php특수문자 html특수문자

 

PHP에서 특수문자처리를 위해 사용하기 좋은 함수가 하나 있습니다. 바로 get_html_translation_table() 함수인데요, / 나 & 와 같이 URL 에 사용시 문제가 될수있는 캐릭터들을 확인하고 검사/변환하는데 기본적인 사전역할을 해줄 수 있습니다.

 

 

get_html_translation_table(function,flags,character-set)

 

 

위와 같이 정의가 되는데요,  인자로 전달되는 값은 다음과 같은 값이 가능합니다

 

1. function 

첫번째 인자인 function 은 아래와 같이 두가지 옵션이 가능합니다. 사실 HTML_SPECIALCHARS 는 HTML_ENTITIES  안에 포함되어 있는 특수문자입니다. 다만, 주소표시등에 사용하면 문제가될 수있는 몇개의 특수문자만 따로 확인할 수 있도록 HTML_SPECIALCHARS 옵션을 별도로 둔 것입니다. 

 

HTML_SPECIALCHARS 

HTML_ENTITIES 

 

 

2. flags 

위 인자값은 필수입력항목은 아니고 옵션입니다. 따옴표나 쌍따옴표를 함수의 결과값에 포함시킬지 말지 등을 설정할 수 있는 값입니다. 이또한, 데이터베이스 쿼리등을 실행할때 문제가 생길 수 있는 특수문자 이기 때문에 DB작없시 입력값을 검증할 때 사용하기 좋습니다.

 

 

ENT_COMPAT - 기본값으로 쌍따옴표는 포함하되 홑따옴표는 제외합니다
ENT_QUOTES - 쌍따옴표, 홑따옴표를 모두 포함합니다.
ENT_NOQUOTES - 쌍따옴표, 홑따옴표를 모두 포함하지 않습니다

 

 

3. character-set 

세번째 인자는 말 그대로 문자의 캐릭터셑을 지정하기 위한 옵션입니다. 근데 옵션중에 euc-kr 은 없네요, 

 

UTF-8 - Default. ASCII compatible multi-byte 8-bit Unicode
ISO-8859-1 - Western European
ISO-8859-15 - Western European (adds the Euro sign + French and Finnish letters missing in ISO-8859-1)
cp866 - DOS-specific Cyrillic charset
cp1251 - Windows-specific Cyrillic charset
cp1252 - Windows specific charset for Western European
KOI8-R - Russian
BIG5 - Traditional Chinese, mainly used in Taiwan
GB2312 - Simplified Chinese, national standard character set
BIG5-HKSCS - Big5 with Hong Kong extensions
Shift_JIS - Japanese
EUC-JP - Japanese
MacRoman - Character-set that was used by Mac OS

 

 

 

아래와 같이 실행시켜보면 

 

print_r (get_html_translation_table(HTML_SPECIALCHARS));

 

다음과 같이 출력되게 됩니다.

 

Array
(
  ["] => "
  [&] => &
  [<] => <
  [>] => >
)

 

 

또한, 아래와 같이 실행시키면

 

print_r (get_html_translation_table(HTML_ENTITIES));

 

HTML 의 모든 특수문자가 출력됩니다.

 

 

Array
(
  ["] => "
  [&] => &
  [<] => <
  [>] => >
  [ ] =>  
  [¡] => ¡
  [¢] => ¢
  [£] => £
  [¤] => ¤
  [¥] => ¥
  [¦] => ¦
  [§] => §
  [¨] => ¨
  [©] => ©
  [ª] => ª
  [«] => «
  [¬] => ¬
  [�­] => ­
  [®] => ®
  [¯] => ¯
  [°] => °
  [±] => ±
  [²] => ²
  [³] => ³
  [´] => ´
  [µ] => µ
  [¶] => ¶
  [·] => ·
  [¸] => ¸
  [¹] => ¹
  [º] => º
  [»] => »
  [¼] => ¼
  [½] => ½
  [¾] => ¾
  [¿] => ¿
  [À] => À
  [Á] => Á
  [Â] => Â
  [Ã] => Ã
  [Ä] => Ä
  [Å] => Å
  [Æ] => Æ
  [Ç] => Ç
  [È] => È
  [É] => É
  [Ê] => Ê
  [Ë] => Ë
  [Ì] => Ì
  [Í] => Í
  [Î] => Î
  [Ï] => Ï
  [Ð] => Ð
  [Ñ] => Ñ
  [Ò] => Ò
  [Ó] => Ó
  [Ô] => Ô
  [Õ] => Õ
  [Ö] => Ö
  [×] => ×
  [Ø] => Ø
  [Ù] => Ù
  [Ú] => Ú
  [Û] => Û
  [Ü] => Ü
  [Ý] => Ý
  [Þ] => Þ
  [ß] => ß
  [à] => à
  [á] => á
  [â] => â
  [ã] => ã
  [ä] => ä
  [å] => å
  [æ] => æ
  [ç] => ç
  [è] => è
  [é] => é
  [ê] => ê
  [ë] => ë
  [ì] => ì
  [í] => í
  [î] => î
  [ï] => ï
  [ð] => ð
  [ñ] => ñ
  [ò] => ò
  [ó] => ó
  [ô] => ô
  [õ] => õ
  [ö] => ö
  [÷] => ÷
  [ø] => ø
  [ù] => ù
  [ú] => ú
  [û] => û
  [ü] => ü
  [ý] => ý
  [þ] => þ
  [ÿ] => ÿ
  [Œ] => Œ
  [œ] => œ
  [Š] => Š
  [š] => š
  [Ÿ] => Ÿ
  [ƒ] => ƒ
  [ˆ] => ˆ
  [˜] => ˜
  [Α] => Α
  [Β] => Β
  [Γ] => Γ
  [Δ] => Δ
  [Ε] => Ε
  [Ζ] => Ζ
  [Η] => Η
  [Θ] => Θ
  [Ι] => Ι
  [Κ] => Κ
  [Λ] => Λ
  [Μ] => Μ
  [Ν] => Ν
  [Ξ] => Ξ
  [Ο] => Ο
  [Π] => Π
  [Ρ] => Ρ
  [Σ] => Σ
  [Τ] => Τ
  [Υ] => Υ
  [Φ] => Φ
  [Χ] => Χ
  [Ψ] => Ψ
  [Ω] => Ω
  [α] => α
  [β] => β
  [γ] => γ
  [δ] => δ
  [ε] => ε
  [ζ] => ζ
  [η] => η
  [θ] => θ
  [ι] => ι
  [κ] => κ
  [λ] => λ
  [μ] => μ
  [ν] => ν
  [ξ] => ξ
  [ο] => ο
  [π] => π
  [ρ] => ρ
  [ς] => ς
  [σ] => σ
  [τ] => τ
  [υ] => υ
  [φ] => φ
  [χ] => χ
  [ψ] => ψ
  [ω] => ω
  [ϑ] => ϑ
  [ϒ] => ϒ
  [ϖ] => ϖ
  [ ] =>  
  [ ] =>  
  [ ] =>  
  [‌] => ‌
  [‍] => ‍
  [‎] => ‎
  [‏] => ‏
  [–] => –
  [—] => —
  [‘] => ‘
  [’] => ’
  [‚] => ‚
  [“] => “
  [”] => ”
  [„] => „
  [†] => †
  [‡] => ‡
  [•] => •
  […] => …
  [‰] => ‰
  [′] => ′
  [″] => ″
  [‹] => ‹
  [›] => ›
  [‾] => ‾
  [⁄] => ⁄
  [€] => €
  [ℑ] => ℑ
  [℘] => ℘
  [ℜ] => ℜ
  [™] => ™
  [ℵ] => ℵ
  [←] => ←
  [↑] => ↑
  [→] => →
  [↓] => ↓
  [↔] => ↔
  [↵] => ↵
  [⇐] => ⇐
  [⇑] => ⇑
  [⇒] => ⇒
  [⇓] => ⇓
  [⇔] => ⇔
  [∀] => ∀
  [∂] => ∂
  [∃] => ∃
  [∅] => ∅
  [∇] => ∇
  [∈] => ∈
  [∉] => ∉
  [∋] => ∋
  [∏] => ∏
  [∑] => ∑
  [−] => −
  [∗] => ∗
  [√] => √
  [∝] => ∝
  [∞] => ∞
  [∠] => ∠
  [∧] => ∧
  [∨] => ∨
  [∩] => ∩
  [∪] => ∪
  [∫] => ∫
  [∴] => ∴
  [∼] => ∼
  [≅] => ≅
  [≈] => ≈
  [≠] => ≠
  [≡] => ≡
  [≤] => ≤
  [≥] => ≥
  [⊂] => ⊂
  [⊃] => ⊃
  [⊄] => ⊄
  [⊆] => ⊆
  [⊇] => ⊇
  [⊕] => ⊕
  [⊗] => ⊗
  [⊥] => ⊥
  [⋅] => ⋅
  [⌈] => ⌈
  [⌉] => ⌉
  [⌊] => ⌊
  [⌋] => ⌋
  [⟨] => ⟨
  [⟩] => ⟩
  [◊] => ◊
  [♠] => ♠
  [♣] => ♣
  [♥] => ♥
  [♦] => ♦
)

 

 

 

 

 

반응형

관련글 더보기

댓글 영역