xconvert2entity(utf8_string)

Gestern 20:36
#1 xconvert2entity(utf8_string)
l2
Mitglied

weil ich mir gerade ein Gästebuch im V4 angeschaut habe,
ist mir diese defekte Funktion in script795.js aufgefallen.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
function xconvert2entity(utf8_string) {
if (typeof(utf8_string == 'array')){
utf8_string = {arr : utf8_string};
doarray = 1;
}
if (typeof(utf8_string == 'object')){
utf8_string = JSON.stringify(utf8_string);
dojson = 1;
}
var html_entity = "";
for(i=0; i<=utf8_string.length; i++)
{
if(utf8_string.codePointAt(i)>127){
html_entity += "&#" + utf8_string.codePointAt(i) + ";";
}else{html_entity += utf8_string.charAt(i);}
}
if(dojson){html_entity = JSON.parse(html_entity);}
if(doarray){html_entity = html_entity.arr;}
return html_entity;
}
 



die Iteration über den String funktioniert so nicht:


1
2
3
4
5
6
7
 
for(i=0; i<=utf8_string.length; i++)
{
if(utf8_string.codePointAt(i)>127){
html_entity += "&#" + utf8_string.codePointAt(i) + ";";
}else{html_entity += utf8_string.charAt(i);}
}
 
 



eine Vorschau von "😎Test Gb"
ergibt: "😎�Test Gb"


besser wäre es in dieser Art:

1
2
3
4
5
6
 
for(let cp of utf8_string){
if(cp.codePointAt(0) > 127){
html_entity += "&#" + cp.codePointAt(0) + ";";
} else html_entity += cp;
}
 
 



Abfragen dieser Art if (typeof(utf8_string == 'object')){...} sind zwar auch Unsinn,

sehe aber ein, dass sie sich in dieser Software bewährt haben





... würde es „Fussball spielen” heissen

vG Bernd‍

 Antworten

 Beitrag melden
Gestern 23:02
avatar  Ingmar
#2 RE: xconvert2entity(utf8_string)
avatar
Technik

Zitat
Abfragen dieser Art if (typeof(utf8_string == 'object')){...} sind zwar auch Unsinn,



Hm, wenn die Klammer richtig gesetzt wäre, würde das Ganze definitiv mehr Sinn ergeben

1
 
if (typeof(utf8_string) == 'object'){...}
 



Muss ich mir mal zu einer anderen Uhrzeit anschauen.

Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

 Beitrag melden
Bereits Mitglied?
Jetzt anmelden!
Mitglied werden?
Jetzt registrieren!