어떻게 jQuery를 사용하여 HTML 엔티티를 디코딩합니까?

4112 단어 javascriptjqueryhtml
How to decode HTML entities using jQuery?
문자열의 HTML 엔티티를 어떻게 jQuery로 디코딩합니까?
#1층
참조:https://stackoom.com/question/4oTn/jQuery를 사용하여 HTML 엔티티 디코딩하는 방법
#2층
The question is limited by 'with jQuery' but it might help some to know that the jQuery code given in the best answer here does the following underneath...thisworks with or without jQuery: 이 문제는'with jQuery'의 제한을 받지만, 이 질문은 여기에서 가장 좋은 답안에 제시된 jQuery 코드가 아래에 다음과 같다는 것을 아는 사람들에게 도움이 될 수 있습니다.여기에 jQuery가 있는지 없는지:
function decodeEntities(input) {
  var y = document.createElement('textarea');
  y.innerHTML = input;
  return y.value;
}

#3층
I think you're confusing the text and HTML methods. 나는 네가 텍스트와 HTML 방법을 혼동했다고 생각한다.Look at this example, if you use an element's inner HTML as text, you'll get decoded HTML tags (second button). 이 예를 보십시오. 요소의 내부 HTML을 텍스트로 사용하면 디코딩된 HTML 탭 (두 번째 단추) 을 받을 수 있습니다.But if you use them as HTML, you'll get the HTML formatted view (first button). 그러나 HTML로 사용하면 HTML 형식의 보기 (첫 번째 단추) 를 얻을 수 있습니다.
here is a HTML content.

  

Results here !

First button writes : here is a HTML content. 첫 번째 단추는 HTML 내용입니다.
Second button writes : here is a HTML content. 두 번째 단추는 HTML B> 내용입니다.
By the way, you can see a plug-in that I found in jQuery plugin - HTML decode and encode that encodes and decodes HTML strings. 참고로, 내가 jQuery 플러그인에서 찾은 플러그인 - HTML 디코딩과 인코딩을 볼 수 있습니다. HTML 문자열을 인코딩하고 디코딩하는 데 사용됩니다.
#4층
To decode HTML Entities with jQuery, just use this function: jQuery를 사용하여 HTML 엔티티를 디코딩하려면 이 기능을 사용하십시오.
function html_entity_decode(txt){
    var randomID = Math.floor((Math.random()*100000)+1);
    $('body').append('
'); $('#random'+randomID).html(txt); var entity_decoded = $('#random'+randomID).html(); $('#random'+randomID).remove(); return entity_decoded; }

How to use: 如何使用:

Javascript: 使用Javascript:

var txtEncoded = "á é í ó ú";
$('#some-id').val(html_entity_decode(txtEncoded));

HTML: HTML:


#5층
Like Mike Samuel said, don't use jQuery.html().text() to decode html entities as it's unsafe. Mike Samuel의 말대로 jQuery를 사용하지 마십시오.html().text () 는 html 실체를 디코딩합니다. 안전하지 않기 때문입니다.
Instead, use a template renderer like Mustache.js or decodeEntities from @VyvIT's comment. 대신 @ VyvIT 리뷰의 Mustache를 사용합니다.js 또는 decodeEntities 등의 템플릿 렌더링
Underscore.js utility-belt library comes with escape and unescape methods, but they are not safe for user input: Underscore.js 유틸리티 라이브러리에는 escapeunescape 방법이 첨부되어 있지만 사용자의 입력에 안전하지 않습니다.
_.escape(string) _.escape (직렬)
_.unescape(string) _.unescape (직렬)
#6층
Use 사용
myString = myString.replace( /\&/g, '&' );

It is easiest to do it on the server side because apparently JavaScript has no native library for handling entities, nor did I find any near the top of search results for the various frameworks that extend JavaScript. 가장 간단한 방법은 서버에서 진행하는 것이다. 자바스크립트는 실체를 처리하는 본 라이브러리에 사용되지 않았고, 자바스크립트를 확장하는 각종 프레임워크에 가까운 검색 결과의 꼭대기도 찾지 못했기 때문이다.
Search for "JavaScript HTML entities", and you might find a few libraries for just that purpose, but they'll probably all be built around the above logic - replace, entity by entity. [JavaScript HTML 엔티티]를 검색하면 이러한 용도로 사용할 라이브러리를 찾을 수 있지만 이러한 라이브러리는 위의 논리적 구문 - 엔티티로 대체될 수 있습니다.

좋은 웹페이지 즐겨찾기