문제:
콘텐츠 관리 시스템을 사용하면 사용자가 다음과 같은 특수 문자가 포함된 콘텐츠를 입력할 수 있습니다. ®, 브라우저 간에 일관되지 않게 렌더링될 수 있습니다. 목표는 이러한 문자를 해당 HTML 엔터티로 변환하고 일관된 스타일을 위한 태그.
해결책:
정규식 사용
JavaScript의 정규식은 이에 대한 포괄적인 솔루션을 제공합니다. task:
<code class="javascript">var encodedStr = rawStr.replace(/[\u00A0-\u9999<>\&]/g, function(i) { return '&#'+i.charCodeAt(0)+';'; });</code>
이 코드는 정규식을 사용하여 유니코드 범위(00A0-9999) 내의 문자는 물론 앰퍼샌드, 보다 작음, 보다 큼 기호를 검색합니다. 그런 다음 "" 앞에 유니코드 값을 추가하여 HTML 문자 엔터티로 변환합니다.
예:
<code class="javascript">var result = encodeHTML('Test ® & ©'); // "Test <sup>&reg;</sup> &amp; <sup>&copy;</sup>"</code>
사용자 정의 가능한 대체 기능
보다 세부적인 제어를 위해 사용자 정의 대체 함수를 지정할 수 있습니다.
<code class="javascript">var encodedStr = rawStr.replace(/[\u00A0-\u9999<>\&]/g, (i) => `<sup>&#${i.charCodeAt(0)};</sup>`);</code>
이 함수는 HTML 엔터티를 특정 형식의 태그.
추가 고려 사항:
문서:
위 내용은 콘텐츠 관리 시스템에서 일관된 렌더링을 위해 JavaScript로 HTML 엔터티를 인코딩하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!