B / Y / U / S
HOME 웹 호스팅 도메인 매뉴얼 고객지원 설정정보 계정신청 2025-05-07 Wednesday 
웹 호스팅
# 공지 사항
# 자주 묻는 질문
# 질문과 답변
# 가입 문의
커뮤니티
# 자유게시판
# 리눅스팁
# 아이큐 테스트
# 내홈 소개
# 겔러리
# 자료실

  리눅스팁  Go Unix Power Tools Online Book Go Bash Guide
Read No. 64 article 2002-01-17 10:21:40
NickName   풀비누
Subject   [PHP] 한글을 깨먹는 htmlspecialchars() 함수.
게시판등을 보면 특정 한글이 "#4022;" 형식으로 코드화되는걸 볼 수 있는데요. 
범인은 htmlspecialchars() 였습니다. 

오타나 해괴한 통신용어를 사용할 경우에 위와 같은 문제가 발생합니다. 

위 함수를 사용하지 않으면 원래 글자가 그대로 나옵니다. 

해결방법은 htmlspecialchars()대신.. 
$new_string = ereg_replace('<','&lt;',$string); 
이렇게 하시면 되겠습니다. 물론 '>'도 '&gt;'로 변경하면 되겠지만 '<'만 바까죠도 잘 됩니다. 


아래 대체함수를 소개합니다. 

// htmlspecialchars 가 한글을 깨먹으니까. 새로정의한다. 
function htmlspecialchars2($str) { 
$str = str_replace( "&", "&", $str ); 
$str = str_replace( """,""", $str ); 
$str = str_replace( "'","'", $str ); 
$str = str_replace( "<", "<", $str ); 
$str = str_replace( ">", ">", $str ); 
return $str; 
}
Regist Addr [ 192.168.0.2 ] 목록보기 윗글 아랫글
정규표현식 [ 상세 검색 ]
Page Loading [ 0.02 Sec ] SQL Time [ 0 Sec ]

Copyleft 1999-2025 by JSBoard Open Project
Theme Designed by IDOO And follow GPL2

개인정보 취급방침 이용 약관 사이트 맵 어드민 관리