noktası 134069
tarafından verilen Unicode karakter HTML Javascript karakter varlıklar için kaçar HTML almak için (tercihen yerli) bir yolu var mı
𠮵
Javascript'te HTML çıkış karakter varlıkları için yerel bir yol var mı?
kaçış oldu?
noktası 134069
tarafından verilen Unicode karakter HTML Javascript karakter varlıklar için kaçar HTML almak için (tercihen yerli) bir yolu var mı
𠮵
Javascript'te HTML çıkış karakter varlıkları için yerel bir yol var mı?
kaçış oldu?
Böyle kömürün noktası ve onaltılık değerleri hem alabilirsiniz:
$('#doIt').click(function() {
$('#outputHex').html($('#inputText').val().codePointAt(0).toString(16));
$('#outputString').html('&#x' + $('#inputText').val().codePointAt(0).toString(16) + ';');
$('#outputChar').html('&#x' + $('#inputText').val().codePointAt(0).toString(16) + ';');
});
code {
display: block;
padding: 4px;
background-color: #EFEFEF;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="inputText"></textarea>
<button id="doIt">do it</button>
<h3>result</h3>
<code id="outputHex"></code>
<code id="outputString"></code>
<code id="outputChar"></code>
Bir tane daha:
İştevar codePoint = ''.codePointAt(0); //codePoint = 134069
var hexValue = ''.codePointAt(0).toString(16); //hexValue = 20bb5
var htmlEscape = '&#x' + hexValue + ';'; //htmlEscape = 𠮵
çalışan bir örnektir Bir şey, codePointAt bir ES6 işlevi ve eski tarayıcılarda desteklenmiyor. tarayıcı blokları durumda burada çalışmasını kodu: &
HTML öğeleri İşte
JSFiddle Example olmayan tüm ASCII7 karakterleri dönüştüren bir fonksiyondur ve <
, >
:
function htmlEntities(s) {
return Array.from(s).map(function (c) {
return c.codePointAt(0) < 128 && '<&>'.indexOf(c) == -1
? c
: '&#x' + c.codePointAt(0).toString(16) + ';';
}).join('');
}
var s = 'This is \u{20BB5}, a special character & encoded in HTML.';
document.body.innerHTML = htmlEntities(s);
Javascript dizelerinde, genişletilmiş unicode karakterlerin iki karakter olarak sayıldığını unutmayın (örneğin, length
). Array.from
, [...s]
gibi ES6 yapıları, doğru parçaları aldığınızdan emin olun.
Bu iyi bir fikirdir, ancak bunun tüm HTML varlıkları için çalıştığını düşünmüyorum (yani '&' daha karmaşıktır)? – Startec
Hayır. Bu, herhangi bir karakter için çalışmalıdır. Kısayollar, yani & gibi özel karakterler var, ancak bu da işe yarayacak. Cevabımı JFiddle örneğiyle güncelleyeceğim. – Gremash