Support » Allgemeine Fragen » HTML-Editor Version 5.8.1 löscht die bedingte Silbentrennung

  • Gelöst lisia

    (@lisia)


    Liebes Team, jetzt in Deutsch. Entschuldigung für den missglückten englischen Versuch.
    Wenn ich im HTML-Editor das Sonderzeichen soft hyphen (&shy ; – ohne Leerzeichen) eingebe, wird dieses gelöscht, sobald ich die Seite aktualisiere.
    Bei der langen Emailadresse ergibt das in der mobilen Version kein schönes Bild.
    Gibt es dazu eine Lösung?
    Vielen Dank im Voraus, liebe Grüße, lisia

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 15 Antworten - 1 bis 15 (von insgesamt 19)
  • Die vorwiegend englischen Entwickler sind so lange Wörter, wie sie die deutsche Sprache hat, nicht gewöhnt. Vielleicht haben sie deshalb nicht damit gerechnet, dass jemand das Character Entity ­ eingeben möchte?

    Als Notlösung kannst du (in der functions.php eines Child-Themes oder mit dem Plugin Code Snippets) einen Shortcode anlegen, der das Character Entity beim Rendern der Webseite einfügt:

    add_shortcode( 'shy', 'my_shy_shortcode' );
    function my_shy_shortcode(){
      return '­';
    }

    Anschließend verwendest du den Shortcode je nach Bedarf, z.B.
    Kranken[shy]haus[shy]zufahrts[shy]berech[shy]tigungs[shy]schein[shy]aus[shy]stellungs[shy]datum.

    Thread-Ersteller lisia

    (@lisia)

    Hallo. Vielen Dank für die Antwort. Ich bin noch beim Ausprobieren, derzeit leider noch erfolglos.
    https://krankenhausdirektoren.at/test/
    Liebe Grüße, lisia

    Moderator Angelika Reisiger

    (@la-geek)

    Hab das jetzt mit den Blöcken HTML, Classic sowie Absatz getestet. Es ist dasselbe „Prinzip“ wie seit jeher auch mit den Absatzformatierungen im Text-Modus (zum Beispiel) des (klassischen) Editors: Sie werden im Editor (HTML-/Text-Modus) entfernt, sind aber dennoch auf der Frontseite vorhanden.

    Schau einfach mal mit den Entwicklertools oder in den Quelltext der Website, ­ ist eingefügt und aktiv. Bei der von dir erwähnten langen E-Mail-Adresse wurde das nach dem @ gesetzt.

    Moderator Bego Mario Garde

    (@pixolin)

    @la-geek Ich kann das nicht reproduzieren.

    Gebe ich im Block-Editor im Code-Editor-Modus Text so ein …

    <p>Kranken­&shy;haus­­­&shy;zufahrts­&shy;berech­tigungs­­­&shy;schein­aus­­­&shy;stellungs­&shy;datum</p>

    wird das nach Veröffentlichung/Aktualisierung bereits unmittelbar nach der Eingabe im Editor so umgewandelt:

    Screenshot Einstellungen
    (zum Vergrößern anklicken)

    Folglich ist dann auch im Frontend das Character Entity &shy; verschwunden:

    Screenshot Einstellungen
    (zum Vergrößern anklicken)

    Auch in der Ansicht des Quelltextes wird das Character Entity nicht angezeigt.

    Interessanterweise funktioniert zwar der von mir genannte Shortcode, aber die Entwickler-Tools in Firefox zeigen das Character Entity nicht an – keine Ahnung, ob ich da eine falsche Einstellung verwende oder es sich um einen Bug in Firefox handelt. Chrome zeigt das &shy; korrekt an und im Quelltext ist es auch enthalten:

    Screenshot Einstellungen
    (zum Vergrößern anklicken)

    Wieso der Shortcode bei @lisia angeblich nicht funktionieren soll, kann ich nicht beurteilen. In Chrome wird mir das Character Entity in den Entwickler-Tools angezeigt, ist also da.

    Ganz abgesehen davon stellt sich natürlich die Frage, ob nicht einfach eine CSS-Regel verwendet werden sollte, die den Textumbruch des Browsers unterstützt. Dieser (etwas ältere) Beitrag beleuchtet einige Aspekte des Themas:

    Handling Long Words and URLs (Forcing Breaks, Hyphenation, Ellipsis, etc)

    Moderator Angelika Reisiger

    (@la-geek)

    Auch in der Ansicht des Quelltextes wird das Character Entity nicht angezeigt.

    Das ist ja echt seltsam. Bei mir ist es im Frontend vorhanden.

    Moderator Angelika Reisiger

    (@la-geek)

    Moderator Bego Mario Garde

    (@pixolin)

    Interessant ist auch, dass bei 0:18 wie beschrieben die Character Entities aus dem HTML entfernt werden. Bei Verwendung des Classic-Blocks passiert das auch: 0:37. Dass sie anschließend im Quelltext wieder auftauchen, kann ich nicht reproduzieren. Der mit dem Classic-Block erstellte Text scheint auch im Frontend keine Umbrüche zu haben.

    Moderator Angelika Reisiger

    (@la-geek)

    Interessant ist auch, dass bei 0:18 wie beschrieben die Character Entities aus dem HTML entfernt werden.

    Das hatte ich ja auch geschrieben:
    Es ist dasselbe „Prinzip“ wie seit jeher auch mit den Absatzformatierungen im Text-Modus (zum Beispiel) des (klassischen) Editors: Sie werden im Editor (HTML-/Text-Modus) entfernt, sind aber dennoch auf der Frontseite vorhanden.

    Der mit dem Classic-Block erstellte Text scheint auch im Frontend keine Umbrüche zu haben.

    Doch hat er, der Block Absatz war in dem kurzen Video zugeklappt. Hier noch mal ein GIF (ich hoffe es klappt mit der Anzeige hier, zum Vergrößern auf das Bild klicken):

    Moderator Bego Mario Garde

    (@pixolin)

    Ah, OK, dann führt das fehlende <p>-Tag zur langen Laufbreite des Textes.

    Moderator Bego Mario Garde

    (@pixolin)

    Es gibt zu dem Problem auch einen passenden GitHub Issue:

    &shy; tags get sanitized when using „Edit Block as HTML“

    Moderator Angelika Reisiger

    (@la-geek)

    Wenn ich das richtig sehe, geht es dort primär um den HTML-Block.
    Der hat bei mir allerdings auch funktioniert, genau wie dort beschrieben: Nach Speichern ist es im Backend nicht mehr sichtbar, im Frontend schon.

    Die Unterschiede, die ich hier (im Thread) ausmache:
    Verschiedene Betriebssysteme (Mac/Windows) sowie unterschiedliche Themes. Ich hatte 2021 im Einsatz.

    Thread-Ersteller lisia

    (@lisia)

    Danke vielmals, dass Ihr Euch um das Problem angenommen habt.
    Ich werde das auf einer Testseite nachvollziehen und kann dort auch das Theme ändern usw.
    Sobald ich soweit bin, melde ich mich wieder.

    @bego Mario Garde: auf der aktiven Seite habe ich die function.php wieder zurückgesetzt – jetzt sieht man auch bei test, dass [shy] als Text angezeigt wird.
    Warum trotzdem keine Silbentrennung gesetzt wurde, weiß ich leider nicht. Danke!

    @la-geek: ja, ich habe & shy; gleich nach dem Klammeraffen gesetzt, aber ausgeführt wurde die Silbentrennung trotzdem nicht. Danke!

    Dass in beiden Fällen was passiert ist, auch wenn es im Codeeditor nicht mehr sichtbar war, habe ich eben erkannt, dass beim Kopieren des Textes vom Frontend und seinem Einfügen in Notepad alle Silbentrennungen angezeigt wurden.

    Liebe Grüße inzwischen, lisia

    Moderator Bego Mario Garde

    (@pixolin)

    Vielleicht liegt es ja auch daran, dass die Datei nicht function.php heißt? 🙂

    Nein, im Ernst – keine Ahnung, was du da ausprobiert hast, aber wenn du den von mir genannten Code korrekt in die functions.php (Plural, s am Ende) übernommen hast, sollte im Quelltext der Webseiten auch das Character Entity richtig eingebunden werden. Allerdings wird das in den Entwickler-Tools von Firefox wie gesagt nicht angezeigt (in der Quelltext-Ansicht aber schon).

    Zu meiner Idee, per CSS eine Silbentrennung durch den Browser vorzugeben, hast du gar nichts geschrieben.

    Thread-Ersteller lisia

    (@lisia)

    @pixolin: Ja, danke, hatte die Datei im System eh richtig benannt – und jetzt weiß ich es auch im Kopf :-). Während ich die functions.php mit Deiner Codeerweiterung online hatte, war das [shy] auch im Text nicht sichtbar, ohne Codeerweiterung wie jetzt online sieht man das [shy] als Text. Ein komplizierter Beweis, dass ich es im Prinzip richtig gemacht habe! Auch wenn das Ergebnis nicht zufriedenstellend war.
    Und sobald ich eine Testseite online habe, probiere ich natürlich den css-Vorschlag aus, auch wenn ich noch nicht weiß, wie. Habe aber bereits gesehen, dass ich dafür im Netz fündig werden könnte. Danke! Liebe Grüße, lisia

    Moderator Bego Mario Garde

    (@pixolin)

    Während ich die functions.php mit Deiner Codeerweiterung online hatte, war das [shy] auch im Text nicht sichtbar, ohne Codeerweiterung wie jetzt online sieht man das [shy] als Text.

    So ist das immer mit Shortcodes: ist ein Shortcode definiert, wird der Shortcode im Frontend mit der Shortcode-Funktion ersetzt. Ist kein Shortcode definiert, wird der Shortcode in eckigen Klammern im Frontend angezeigt.

    Auch wenn das Ergebnis nicht zufriedenstellend war.

    … und genau das verstehe ich nicht. Wieso warst du denn nicht zufrieden?

    … probiere ich natürlich den css-Vorschlag aus, auch wenn ich noch nicht weiß, wie. Habe aber bereits gesehen, dass ich dafür im Netz fündig werden könnte.

    Du bräuchtest ja nur den bereits verlinkten Beitrag mal lesen. 🙂

    Da wir über die Antworten hinaus nicht weiterhelfen können, wünsche ich viel Erfolg und markiere den Thread als „gelöst“.

Ansicht von 15 Antworten - 1 bis 15 (von insgesamt 19)