philiwilli: RegExp nach 36 Zeichen soll ein Wort &shy dazwischen bekommen

Hey.

Das längste Wort im Duden hat 36 Wörter!
Alles längere sorgt ja nach Design auch für eine hässliche overflow Handhabung.
Ich bräuchte einen RegExp welcher bei Wörtern mit mehr als 36 Zeichen bzw. "alle 36 Zeichen" ein ­ dazwischen setzt.
Kann mir da jemand weiterhelfen?
Ich würde vor dem eintragen in die DB dann preg_match_all() drüber laufen lassen.

Lg, philiwilli

  1. Hi,

    Das längste Wort im Duden hat 36 Wörter!

    nur aus diesem Grund ist es möglich, mit Microsoft Word sogar ganze Texte zu verfassen. SCNR.

    Ich bräuchte einen RegExp

    Aus welchem Grund wählst Du ausgerechnet dieses Werkzeug zu Deinem Problem?

    welcher bei Wörtern mit mehr als 36 Zeichen bzw. "alle 36 Zeichen" ein ­ dazwischen setzt.

    Wörter extrahieren, der Reihe nach durchgehen, alle 36 Zeichen "­" einfügen. Sei Dir übrigens dessen bewusst, dass diese Entity nicht von allen aktuellen Browsern unterstützt wird. Schwachpunkt ist hier ausnahmsweise der derzeit vermutlich verbreitetste Browser, nämlich Firefox.

    Ich würde vor dem eintragen in die DB dann preg_match_all() drüber laufen lassen.

    Nein, das ist der falsche Zeitpunkt. In die Datenbank gehören die Daten, nicht eine eventuell gewünschte Präsentation derselben. Du möchtest die Veränderung unmittelbar vor der Ausgabe durchführen.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi!

      Wörter extrahieren, der Reihe nach durchgehen, alle 36 Zeichen "­" einfügen. Sei Dir übrigens dessen bewusst, dass diese Entity nicht von allen aktuellen Browsern unterstützt wird. Schwachpunkt ist hier ausnahmsweise der derzeit vermutlich verbreitetste Browser, nämlich Firefox.

      Du solltest ihn updaten: SELFHTML-Wiki: Bedingter Trennstrich und SELFHTML-Aktuell: Bedingter Zeilenumbruch mit »Soft Hyphen« nun auch in Firefox.

      Du könntest mit einem 3er Firefox mal das Wiki besuchen und dann deinen Viewport in X-Richtung ausreichend verkleinern, dann wirst du im linksseitigen Menü einen bedingten Umbruch beim Wort "Themenschwerpunkte" live miterleben können.

      Lo!

      1. Hi!

        Du solltest ihn updaten: SELFHTML-Wiki: Bedingter Trennstrich und SELFHTML-Aktuell: Bedingter Zeilenumbruch mit »Soft Hyphen« nun auch in Firefox.

        Ich hätte nicht damit gerechnet in DIESEM Forum Leute zu lesen, die einen Browser älter als 2007 nutzten (vom IE6-Testclient abgesehen).

        Du könntest mit einem 3er Firefox mal das Wiki besuchen und dann deinen Viewport in X-Richtung ausreichend verkleinern, dann wirst du im linksseitigen Menü einen bedingten Umbruch beim Wort "Themenschwerpunkte" live miterleben können.

        Ganz hübsch, aber bei 800x600 fehlen ein paar ­ :p.

        1. Hi!

          Ich hätte nicht damit gerechnet in DIESEM Forum Leute zu lesen,

          und ich nicht damit, dass Du so etwas vermögest..

          off:PP

          --
          "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
    2. @@Cheatah:

      nuqneH

      Schwachpunkt ist hier ausnahmsweise der derzeit vermutlich verbreitetste Browser, nämlich Firefox.

      UPDATE Cheatah SET Kenntnisstand = Kenntnisstand + 'Firefox ab 3.0 kennt ­ auch';

      (frei nach MudGuard [1, 2])

      Qapla'

      --
      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
      (Mark Twain)
      1. Hi,

        UPDATE Cheatah SET Kenntnisstand = Kenntnisstand + 'Firefox ab 3.0 kennt ­ auch';

        Beschäftige dich mit Normalisierung ;-)

        MfG ChrisB

        --
        “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
        1. Hi,

          UPDATE Cheatah SET Kenntnisstand = Kenntnisstand + 'Firefox ab 3.0 kennt ­ auch';
          Beschäftige dich mit Normalisierung ;-)

          Cheatah can't be normalized ... ;-)

          cu,
          Andreas

          --
          Warum nennt sich Andreas hier MudGuard?
          O o ostern ...
          Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
          1. Cheatah can't be normalized ... ;-)

            And don't even THINK about neutering... ;-)

            Gruß, LX

            --
            RFC 1925, Satz 2: Egal, wie fest man schiebt, ganz gleich, wie hoch die Priorität ist, man kann die Lichtgeschwindigkeit nicht erhöhen.
            1. Hi,

              Cheatah can't be normalized ... ;-)
              And don't even THINK about neutering... ;-)

              CUT!

              cu,
              Andreas

              --
              Warum nennt sich Andreas hier MudGuard?
              O o ostern ...
              Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
  2. Hi,

    Ich bräuchte einen RegExp welcher bei Wörtern mit mehr als 36 Zeichen bzw. "alle 36 Zeichen" ein ­ dazwischen setzt.

    Wo ist das Problem?
    preg_replace("#([\w]{36})#", "$1­", $str);
    Was ist mit "-" oder anderen nicht-alphanumerischen Zeichen?

    Vielleicht auch mal an ein flexibleres Layout denken?

    Gruesse, Joachim

    --
    Am Ende wird alles gut.
    1. Hi.

      Was ist mit "-" oder anderen nicht-alphanumerischen Zeichen?

      Vielleicht auch mal an ein flexibleres Layout denken?

      Sorry geht in diesem Falle nicht, die Breite ist fix.

      word-break kann noch nicht jeder und funktioniert ebenfalls nicht zuverlässig. Overflow schenkt mir hässliche Scrollbalken, es ist schrecklich.

      Hast du eine Alternative?

      Lg, Philiwilli

      1. Moin Moin!

        Vielleicht auch mal an ein flexibleres Layout denken?

        Sorry geht in diesem Falle nicht, die Breite ist fix.

        Generell ein dämlicher Ansatz. Insbesondere, weil Du generell weder über die Fontgrößen im Browser noch über die nutzbare Fensterinnenfläche die Kontrolle hast. Du kannst Dich eine Weile der Illusion hingeben, Du hättest sie, aber irgendwann merkst Du, dass im Browser der Nutzer das letzte Wort hat und nicht der Webseitenfrickler.

        word-break kann noch nicht jeder und funktioniert ebenfalls nicht zuverlässig. Overflow schenkt mir hässliche Scrollbalken, es ist schrecklich.

        Hast du eine Alternative?

        Ja, laß den Quatsch mit den festen Breiten sein.

        Mal davon abgesehen ist "nach 36 Zeichen" keine sinnvolle Silbentrennung. Wenn Du dem Browser helfen willst, mit verschiedenen Fontgrößen und Platzverhältnissen zurecht zu kommen, dann füge das ­ dort ein, wo es nach Duden & Co. hin gehört, zwischen den Silben. Es gibt dafür (recht aufwenige) Algorithmen. Oder sorge dafür, dass die Trennstellen bereits in der Rohform der Daten vorliegen.

        Alexander

        --
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
    2. @@Joachim:

      nuqneH

      Ich bräuchte einen RegExp welcher bei Wörtern mit mehr als 36 Zeichen bzw. "alle 36 Zeichen" ein ­ dazwischen setzt.
      Wo ist das Problem?

      Dort.

      Es ist unsinnig, zu diesem Zweck einen regulären Ausdruck einsetzen zu wollen. Das ginge mit Stringoperationen.

      Allerdings ist der Zweck schon recht unsinnig. Wie Alexander (HH) schon sagte, sollten man '­' dort einfügen, wo es sinnvoll ist. "Hyphenation" / "hyphenator" wären die Suchbegriffe.

      Qapla'

      --
      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
      (Mark Twain)
      1. Hi Gunnar,

        Dort.

        Haben wir doch schon diskutiert. Auch wenns von Zawinski ist, überzeugt es mich nicht.

        Allerdings ist der Zweck schon recht unsinnig.

        Darüber braucht man allerdings erst gar nicht zu diskutieren. Man stelle sich auch vo, jemand erfindet ein neues "Unwort des Jahres" mit 41 Buchstaben ;-)

        nun denne, Joachim

        --
        Am Ende wird alles gut.
  3. Bounjoun philiwilli,

    Das längste Wort im Duden...

    ...ist welches?

    Im Studium lernte ich:

    Reichsdeputationshauptschluss

    aber das hat nur 29 <del>Wörter</del><ins>Buchstaben</ins>!

    Immerhin schlägt es das landesweit anerkannte längste frz. Wort:

    anticonstitutionnellement

    welches 4 <del>Wörter</del><ins>Buchstaben</ins> weniger zählt. Und das Benutzen dieses Wort ist nicht verfassungswidrig - auch wenn selten gebraucht ;)

    Adiou.

  4. Rebounjoun philiwilli,

    Das längste Wort im Duden hat 36 Wörter!

    Was ist mit dem:
    Rindfleischetikettierungsüberwachungsaufgabenübertragungsgesetz?

    (gefunden auf: http://eo.wikipedia.org/wiki/Plej_longaj_vortoj

    Nein, ich kann kein Esperanto. Aber Links folgen :)

    Adiou.

  5. Hallo.

    Das längste Wort im Duden hat 36 Wörter!

    Zusammengesetzte Wörter können eine beliebige Länge erreichen. Trennen solltest du nur in Ausnahmefällen zwischen normalen Silben. Trennungen zwischen Wortteilen zusammengesetzter Wörter genügen meist.
    MfG, at