Programing/JavaScript
iframe innerText 공백 non breaking spaces 처리
리커니
2021. 10. 19. 16:34
반응형
iframe innerText 공백 non-breaking space 처리
iframe 내의 텍스트를 DB에 저장 할 때 innerText로 뽑아서 저장을 하면
공백이 이상한 문자로 저장되는 경우가 있습니다.
HTML 요소 내 공백은 $nbsp; (none-breaking space) 로 표현되며 이는 공백 처럼 보이지만
DB에 저장할 때 이상한 문자가 삽입됩니다.
그래서 innerText로 뽑은 텍스트 내 none-breaking space를 치환 해주어야 합니다.
우선 받은 텍스트를 유니코드로 치환해 줍니다.
let ctnt = encodeURI(frame.innerText);
유니코드에서 none-breaking space는 %C2%A0 입니다.
이를 실제 space 로 치환해 줍니다.
let ctnt = encodeURI(frame.innerText).replace(/%C2%A0/gi, ' ');
이제 none-breaking space를 치환한 유니코드를 디코드 해줍니다.
ctnt = decodeURI(ctnt);
이제 원하는, none-breaking space 가 space로 치환된 텍스트를 확인할 수 있습니다.
반응형