Programing/JavaScript

iframe innerText 공백   non breaking spaces 처리

리커니 2021. 10. 19.
반응형

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로 치환된 텍스트를 확인할 수 있습니다.

 

반응형

댓글

💲 추천 글