Dodawanie znaczników indeksu górnego wokół wszystkich znaków towarowych i zarejestrowanych znaków towarowych
Staram się dodawać <sup></sup>
tagi wokół każdego™,®, © na mojej stronie.
Znalazłem takie pytanie: CSS superscript registration trademark {[7] } które pomogło mi zacząć.
Skrypt działa w tym sensie, że znaczniki są umieszczane w odpowiednich miejscach, ale dodaje dwa znaczniki {1]} wokół każdego zamiast tylko jednego.
Oto moje JS dodawanie tagów:
jQuery("body").html(
jQuery("body").html().replace(/®/gi, '<sup>®</sup>').replace(/®/gi, '<sup>®</sup>').
replace(/™/gi, '<sup>™</sup>').
replace(/™/gi, '<sup>™</sup>').
replace(/©/gi, '<sup>©</sup>').
replace(/©/gi, '<sup>©</sup>')
);
Jak mogę upewnić się, że znaczniki są dodawane tylko raz na symbol? Jakiś warunkowy może?
3 answers
Zamiast przepisywać cały znacznik (i usuwać wszystkie powiązane zdarzenia), wybrałbym coś takiego:
$('body :not(script)').contents().filter(function() {
return this.nodeType === 3;
}).replaceWith(function() {
return this.nodeValue.replace(/[™®©]/g, '<sup>$&</sup>');
});
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-14 16:22:24
To mi pasuje.
$("p,h1,h2,h3,h4,li,a").each(function(){
$(this).html($(this).html().replace(/®/gi, '<sup>®</sup>').replace(/®/gi, '<sup>® </sup>'));
});
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-28 15:21:27
@VisioN 's answer didn' t work that well for me, choc zwrócona była we właściwym kierunku. Trochę to podkręciłem:
var regexp = /[\xAE]/;
$('body :not(script,sup)').contents().filter(function() {
return this.nodeType === 3 && (regexp.test(this.nodeValue));
}).replaceWith(function() {
return this.nodeValue.replace(regexp, '<sup>$&</sup>');
});
Ta metoda wykorzystuje hex , zamiast kodu znaków. Sprawdziłam zaklęcie na character-codes.com i wybrał hex postaci. Wartość to AE
, więc tak dotarłem do mojego rozwiązania. Daj mi znać, czy to działa na Ciebie!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-09 10:14:20