Beim Bearbeiten in WordPress verwende ich manchmal geschützte Leerzeichen in Kopfzeilen, damit Wörter zusammenbleiben. Wenn ich speichere, sind die geschützten Leerzeichen vorhanden, aber sie sehen aus wie normale Leerzeichen, sodass ich sie nicht sehen kann. Außerdem erstellt WordPress geschützte Leerzeichen, wenn ich den Hauptteil meines Beitrags eingebe, die ich irgendwie entfernen muss.
Ich dachte, es wäre einfach, ein Bookmarklet zu erstellen, das jQuery verwendet, um geschützte Leerzeichen auf einer Webseite oder im Editor hervorzuheben. Ich bin jedoch nicht gut mit regulären Ausdrücken, oder vielleicht mache ich etwas anderes falsch. Hier ist der jQuery-Code:
$('p').html($('p').html().replace(/ [\u00a0\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\u3000]/g, '<span class="red"> </span>'));
Hier ist ein jFiddle:
https://jsfiddle.net/y18e0c1w/
========
Hier hat mir Maraca geholfen (siehe unten). Ich habe das Bookmarklet mit seinem Code erstellt und der Spanne einen white-space:nowrap hinzugefügt, sodass Sie die Hervorhebung immer noch sehen können, wenn sie sich am Ende einer Zeile befindet. Hier ist es:
javascript:function%20escapeRegExp(e){return%20e.replace(/([.*+?^=!:${}()\]\[\/\\])/g,"\\$1")}function%20replaceAll(e){return%20e.string.replace(new%20RegExp(escapeRegExp(e.search),"g"),e.replace)}jQuery("body").html(replaceAll({string:jQuery("body").html(),search:" ",replace:'<u%20style="background:#FF0;white-space:nowrap">%20</u>'}));
Denken Sie daran, dass jQuery bereits auf der Seite geladen ist. Es spielt nicht gut mit dem WordPress-Backend, aber es funktioniert auf dem Frontend und das ist gut für mich im Moment. Hoffe, jemand anderes findet das auch nützlich.
Ich habe meine Lösung aktualisiert, ist das richtig? wenn nicht, lass es mich wissen. was fehlt
– Maraka
19. April 2015 um 18:32 Uhr
Hallo Maraca, das ist großartig! Es funktioniert gut in der Geige. Wenn ich es jedoch auf meine formatierte Seite anwende (ich habe es gerade in die Konsole eingefügt), platziert es den Inhalt des ersten
in jedes nachfolgende
.
– kleine Eule
19. April 2015 um 22:55 Uhr
Kennen Sie auch eine einfache Möglichkeit, mehr als nur die p-Tags zu durchlaufen? Ich habe die Funktion kopiert und das funktioniert, aber ich müsste es für mehrere Header tun. Geige
– kleine Eule
19. April 2015 um 23:04 Uhr
Ja, Sie können eine Reihe von Tags definieren und diese dann einzeln in einer Schleife verarbeiten. Es kann ziemlich kompliziert werden, wenn Sie wirklich eine verallgemeinerte Lösung wünschen.
– Maraka
19. April 2015 um 23:17 Uhr
Das ist großartig – der ganze Körper passt perfekt zu meinen Zwecken. Ich habe die Leerzeichen für das Bookmarklet verkleinert und URL-codiert – funktioniert wie ein Zauber. Hier ist der Code:
javascript:function%20escapeRegExp(e){return%20e.replace(/([.*+?^=!:${}()\]\[\/\\])/g,"\\$1")}function%20replaceAll(e){return%20e.string.replace(new%20RegExp(escapeRegExp(e.search),"g"),e.replace)}jQuery("body").html(replaceAll({string:jQuery("body").html(),search:" ",replace:'<u%20style="background:#FF0">%20</u>'}));
– kleine Eule
20. April 2015 um 0:16 Uhr