Ich arbeite in einem CMS, mit dem Benutzer Inhalte eingeben können. Das Problem ist, dass beim Hinzufügen von Symbolen ®möglicherweise nicht alle Browser gut angezeigt werden. Ich möchte eine Liste von Symbolen erstellen, nach denen gesucht und dann in die entsprechende HTML-Entität konvertiert werden muss. Beispielsweise
® => ®
& => &
© => ©
™ =>™
Nach der Konvertierung muss es in ein <sup>Tag eingeschlossen werden, was Folgendes zur Folge hat:
® => <sup>®</sup>
Weil eine bestimmte Schriftgröße und ein bestimmter Füllstil erforderlich sind:
sup { font-size: 0.6em; padding-top: 0.2em; }
Wäre das JavaScript so etwas?
var regs = document.querySelectorAll('®');
for ( var i = 0, l = imgs.length; i < l; ++i ) {
var [?] = regs[i];
var [?] = document.createElement('sup');
img.parentNode.insertBefore([?]);
div.appendChild([?]);
}
Wo "[?]" Bedeutet, dass es etwas gibt, bei dem ich mir nicht sicher bin.
Weitere Details:
- Ich möchte dies mit reinem JavaScript tun, nicht mit einer Bibliothek wie jQuery, danke.
- Backend ist Ruby
- Verwenden von RefineryCMS, das mit Ruby on Rails erstellt wurde
accept-charset="UTF-8"Ihrem <form>Tag hinzufügen . Auf dem Server möchten Sie sicherstellen, dass Ihre Ausgabe UTF-8-codiert ist und dass Ihr Webserver dem Browser dies über den Content-TypeHeader mitteilt . Siehe rentzsch.tumblr.com/post/9133498042/… Wenn Sie dies alles tun und ein Browser das Zeichen nicht korrekt anzeigt, macht das Ersetzen des Zeichens durch eine Entität keinen Unterschied.
supElemente verursacht tendenziell mehr Probleme, als es möglicherweise lösen könnte, da "®" in vielen Schriftarten klein und in tiefgestellter Position ist, sodass Sie es auf nicht erkennbar reduzieren würden.
<sup>ist kein Problem, da ich die spezifischen Schriftarten getestet habe, die für die Blog-Beiträge verwendet werden, aber das ist ein guter Punkt, den Sie berücksichtigen sollten.