style="color:rgb(255,255,255);
Bernd
- javascript
Hallo Forum,
vieleicht kann mir da einer helfen ...
Ich setze in Mozilla in ein DIV folgendes HTML ein (mit innerHTML)
<span style="color:#FFFFFF;">Leer</span>
Lese ich es wieder aus, bekomme ich
"<span style="color:rgb(255,255,255);">Leer</span>" zurück.
Wie bekomme ich den Farbwert wieder in Hexadezimal ???
Überlege schon den string zu zerlegen, die RGB einzelnt in Hex zu konvertieren und dann den String wieder zusammen zu bauen.
Oder gibt es da einen leichteren Ansatz ???
Bernd
PS: Es sind immer andere Texte mit unterschiedlichen Fabwerten ...
Hallo Bernd,
vieleicht kann mir da einer helfen ...
Ich setze in Mozilla in ein DIV folgendes HTML ein (mit innerHTML)
<span style="color:#FFFFFF;">Leer</span>Lese ich es wieder aus, bekomme ich
"<span style="color:rgb(255,255,255);">Leer</span>" zurück.
Der Frabwert ist eine korrekte CSS-Angabe, solange Du sie nicht außerhalb von CSS benötigst, sehe ich nicht warum Du diesen String umwandeln willst. Also frage ich mal: Wofür brachst Du die Hex-Angabe?
Gruß aus Berlin!
eddi
Ich arbeite mit den Editor htmlArea. wenn ich die schriftfarbe einfärbe schreibt er <font color="#FFFFFF">Leer</font>.
Da motzt aber Mozilla mit rum.
Also das ganze in <span style="color:#FFFFFF"></span> konvertiert.
Wenn ich aber nun wieder in den Editor gehe bekommt dieser Probleme mit rgb ;-(
Bernd
Hallo Bernd,
wir haben uns nun heute hier zusammengefunden um von Deinem langjährigem Editor abschied zu nehmen. Er war in wahrer Hingabe seiner Aufgabe nicht mehr gewachsen.
Einstellungen=>Systemsteuerung=>Software=>htmlArea=>Deinstallieren!
Möge er in Frieden Ruhen!
eddi
Hi,
Wie bekomme ich den Farbwert wieder in Hexadezimal ???
Auseinandernehmen und Umwandeln.
Oder gibt es da einen leichteren Ansatz ???
Ja, es genau so lassen. :-)
Spricht was dagegen?
Gruß, Cybaer
Hallo,
Überlege schon den string zu zerlegen, die RGB einzelnt in Hex zu konvertieren und dann den String wieder zusammen zu bauen.
Etwas in dieser Richtung:
var hex="#",tmp,rgb="color:rgb(255,255,255);";
tmp=(rgb.substring(rgb.indexOf("(")+1,rgb.indexOf(")"))).split(",");
for(i=0;i<3;i++)hex+=(tmp[i]*1).toString(16).toUpperCase();
alert(hex); // #FFFFFF
Oder gibt es da einen leichteren Ansatz ???
Einfach so lassen ;-).
MfG, Thomas
Hallo Thomas,
schöne Hex-Konvertierung.
Danke,
Bernd
PS: Also doch auseinandernehmen ...
PSSS: Am liebsten hätte ich ja sowas wie Liste mit allen zu erseztenden Begriffen erstell, duplizieren, Duplikat konvertieren. und dann das eine durch das andere im Text ersetzen.
Geht bestimmt mit regEx ..., werde mal probieren.
Danke an allen die mir geholfen haben,
hab mal wieder wasa lernen können.
Das ist meine aktuelle Lösung:
function fontToStyle(str){
str = str.replace(/<font color="/gi,"<span style="color:")
str = str.replace(/</font>/gi,"</span>")
return str;
}
function styleToFont(str){
str = str.replace(/<span style="color:/gi,"<font color="")
str = str.replace(/</span>/gi,"</font>")
var Suche = /(rgb.+?;)/gi;
var Ergebnis = str.match(Suche);
tmpCount = Ergebnis.length;
for (i=0;i < tmpCount;i++){
var hex="#"
tmp = Ergebnis[i].substring(Ergebnis[i].indexOf("(")+1,Ergebnis[i].length-2).split(",");
for(m=0;m<3;m++){
hex+=(tmp[m]*1).toString(16).toUpperCase();
}
Ergebnis[i]=hex;
}
for (i=0;i < tmpCount;i++){
str = str.replace(/rgb.+?;/,Ergebnis[i]);
}
return str;
}
Bernd