Felix Zimmermann: Silbentrennung rückgängig machen.

Hallo,

weiß jemand, wie kann man serverseitig die Silbentrennzeichen eines per WWW-Formular vom Nutzer erhaltenen Textes automatisch rückgängig machen kann? Gibt es Tools oder fertige Skripte? Habe bisher lediglich Infos gefunden, die sich mit der Erstellung einer Silbentrennung befassen.

Bin äußerst dankbar für jeden Tip,
Felix.

  1. Moin!

    weiß jemand, wie kann man serverseitig die Silbentrennzeichen eines per WWW-Formular vom Nutzer erhaltenen Textes automatisch rückgängig machen kann? Gibt es Tools oder fertige Skripte? Habe bisher lediglich Infos gefunden, die sich mit der Erstellung einer Silbentrennung befassen.

    Bin äußerst dankbar für jeden Tip,
    Felix.

    Warum sind die Silbentrennzeichen denn überhaupt drin? Ich würde mal meinen, ein simpler Texthinweis beim Eingabefeld, doch bitte _keine_ eigenständige Trennung der Wörter vorzunehmen, weil das der Rechner übernimmt (auch wenn's in dieser Form vielleicht gelogen ist ;) ), sollte doch die Leute von diesem Übereifer abhalten, oder?

    Ansonsten ist das Entfernen von Silbentrennzeichen nämlich ziemlich kompliziert - eben weil die Menschen da keinem Standard gehorchen. Der eine macht einfach ein Minuszeichen, der andere fügt hinter dem Minuszeichen ein Leerzeichen ein. Andere machen keine solche Zeichen, benutzen aber zur sinnvollen Auslassung von Wörtern ebenfalls das Minuszeichen, so wie in "Minus- oder Pluszeichen".

    Ich würde mal behaupten: Ohne ultraaufwendige Analyse des Textes, mit Sicherheit anhand umfangreicher Wörterbücher, und auch durch Analyse der Syntax wird es kaum gelingen.

    - Sven Rautenberg

  2. Hi,

    weiß jemand, wie kann man serverseitig die Silbentrennzeichen eines per WWW-Formular vom Nutzer erhaltenen Textes automatisch rückgängig machen kann? Gibt es Tools oder fertige Skripte? Habe bisher lediglich Infos gefunden, die sich mit der Erstellung einer Silbentrennung befassen.

    Ein Tool dazu ist mir nicht bekannt. Ansonsten würde ich sagen, dass sich eine Silbentrennung durch einen Buchstaben mit folgendem Bindestrich mit folgendem Zeilenumbruch mit folgendem Buchstaben auszeichnet und dieses wiederum sollte ermittelbar sein.

    text = text.replace(/([a-z]|[A-Z])-([\x0A-\x0D]*)([a-z]|[A-Z])/g, "$1$3");
    <

    Wobei die dt. Umlaute hier nicht berücksichtigt wurden.
    Ich bin auch kein RegExp-Experte, darum möge man mir die Syntax verzeichen.

    Timo

    1. Hi,

      weiß jemand, wie kann man serverseitig die Silbentrennzeichen eines per WWW-Formular vom Nutzer erhaltenen Textes automatisch rückgängig machen kann? Gibt es Tools oder fertige Skripte? Habe bisher lediglich Infos gefunden, die sich mit der Erstellung einer Silbentrennung befassen.

      Ein Tool dazu ist mir nicht bekannt. Ansonsten würde ich sagen, dass sich eine Silbentrennung durch einen Buchstaben mit folgendem Bindestrich mit folgendem Zeilenumbruch mit folgendem Buchstaben auszeichnet und dieses wiederum sollte ermittelbar sein.

      text = text.replace(/([a-z]|[A-Z])-([\x0A-\x0D]*)([a-z]|[A-Z])/g, "$1$3");
      <

      Vielen Dank erstmal. Das Problem ist jedoch, dass die Nutzer den Text aus der Zwischenablage in das Formular hineinkopieren müssen (z.B. aus Word). Selbst wenn die Silbentrennung dabei ausgeschaltet ist, so werden seltsamerweise noch genügend bedingte Trennstriche übernommen - und zwar leider ohne Zeilenumbruch. In der ct wurde irgendwann mal ein kleines Freeware-Progrämmchen vorgestellt, das die Silbentrennung aus dem Zwischenspeicher entfernen sollte. Eine Installation auf dem Client soll aber für unser Datenbankprojekt nicht erforderlich sein.

      Wobei die dt. Umlaute hier nicht berücksichtigt wurden.
      Ich bin auch kein RegExp-Experte, darum möge man mir die Syntax verzeichen.

      Timo

      1. Hi Timo,

        Vielen Dank erstmal. Das Problem ist jedoch, dass die Nutzer den Text
        aus der Zwischenablage in das Formular hineinkopieren müssen (z.B.
        aus Word). Selbst wenn die Silbentrennung dabei ausgeschaltet ist,
        so werden seltsamerweise noch genügend bedingte Trennstriche übernommen

        • und zwar leider ohne Zeilenumbruch.

        was für Zeichen sind das denn? Kannst Du zuverlässig ausschließen, daß
        ein solches Zeichen jemals mit einer anderen Bedeutung als derjenigen,
        ein Silbentrennzeichen zu sein, auftreten kann?

        Davon hängt die Lösbarkeit Deiner Aufgabenstellung wesentlich ab.
        Das Problem ist kein programmiertechnisches, sondern ein informations-
        theoretisches, wie auch Sven schon beschrieben hat: Der Trick besteht
        darin, zu erkennen, was getan werden muß - nicht, es dann auch zu tun.

        In der ct wurde irgendwann mal ein kleines Freeware-Progrämmchen
        vorgestellt, das die Silbentrennung aus dem Zwischenspeicher entfernen
        sollte.

        Das klingt immerhin so, als ob der Autor dieses Programms _glaubt_,
        zuverlässig erkennen zu können, was los ist.

        Eine Installation auf dem Client soll aber für unser Datenbankprojekt
        nicht erforderlich sein.

        Wenn Dein Formular-Auswertungsprogramm dieselben Informationen bekommt
        wie dieses Tool, dann kannst Du serverseitig dieselbe Konvertierung
        durchführen.

        Viele Grüße
              Michael