찾기
내용으로 건너뛰기
추적
문서의 이전 판을 선택했습니다!
저장하면 이 자료로 새 판을 만듭니다.
미디어 파일
====== 한글오타수정 ====== http://www.phpschool.com/link/tipntech/55742 영문으로 한글을 쳤을때 변환하는 용도입니다. 심심해서 만들어봤습니다. 검색 엔진에서 쓰던데 소스를 안봐서 같은 방식인지는 모르겠네요. 원리는 간단합니다. 초성 중성 종성 별로 영어 오타값을 만들고, 조합을 고려해서 한글 변화시의 한글문자로 변환합니다. 한글 자소 분리해보신 분이면 바로 아실 겁니다. (원리 자체는 아주 쉽습니다.) # Caps Lock는 off된 상태, 즉 쌍자음이나 연모음이 영대문자입니다. ex) Tkdna : 싸움 # 단자음이나 단모음은 한글로 변환하지 않습니다. # 정확한 오타(?)일 경우에만 정확하게 변환됩니다. @ php의 array_search 가 있다면 굳이 오브젝트로 할 필요 없을텐데... 퍼포먼스 상 패턴을 고정시키고 오브젝트로 만들었습니다. 링크로 간단한 테스트를 걸어놨습니다. <file javascript> <script type="text/javascript"> var e2k = (function() { var en_h = "rRseEfaqQtTdwWczxvg"; var reg_h = "[" + en_h + "]"; var en_b = {k:0,o:1,i:2,O:3,j:4,p:5,u:6,P:7,h:8,hk:9,ho:10,hl:11,y:12,n:13,nj:14,np:15,nl:16,b:17,m:18,ml:19,l:20}; var reg_b = "hk|ho|hl|nj|np|nl|ml|k|o|i|O|j|p|u|P|h|y|n|b|m|l"; var en_f = {"":0,r:1,R:2,rt:3,s:4,sw:5,sg:6,e:7,f:8,fr:9,fa:10,fq:11,ft:12,fx:13,fv:14,fg:15,a:16,q:17,qt:18,t:19,T:20,d:21,w:22,c:23,z:24,x:25,v:26,g:27}; var reg_f = "rt|sw|sg|fr|fa|fq|ft|fx|fv|fg|qt|r|R|s|e|f|a|q|t|T|d|w|c|z|x|v|g|"; var reg_exp = new RegExp("("+reg_h+")("+reg_b+")(("+reg_f+")(?=("+reg_h+")("+reg_b+"))|("+reg_f+"))","g"); var replace = function(str,h,b,f) { return String.fromCharCode(en_h.indexOf(h) * 588 + en_b[b] * 28 + en_f[f] + 44032); }; return (function(str) { return str.replace(reg_exp,replace); }); })(); // Test alert(e2k("rkwl dksgdms rlf - fhqjxm vmfhtmxm")); </script> </file> {{tag>한글오타수정}}
2+1?
이 필드는 비어 있도록 유지하세요:
저장
미리 보기
취소
편집 요약
참고: 이 문서를 편집하면 내용은 다음 라이선스에 따라 배포하는 데 동의하는 것으로 간주합니다:
CC Attribution-Noncommercial-Share Alike 4.0 International
문서 도구
문서 보기
이전 판
연결문서
맨 위로
다크 모드로 보기
☀️
Toggle Menu
기술
너두 고쳐두 됩니다.
사이트 도구
최근 바뀜
미디어 관리자
사이트맵
사용자 도구
등록
로긴
최근 수정된 문서
misuse_topical5
노박
unique_items
dinner_bell
deputy_beagle
ratslayer
one_for_my_baby
alerio
power_fist
제거됨
fixer
climb_ev_ry_mountain
companion
[장비 분실]
crashed_vertibird
brotherhood_t-51b_power_armor
marco
i_forgot_to_remember_to_forget
cateye