Schorsch: String halbieren Schnitt darf aber nicht in Element sein

Guten Tag

Ich habe einen Text String. Der beinhaltet
HTML Elemente.

Beispiel:
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's <h1>Bock Element</h1>standard dummy text ever since the 1500s, <strong>Inline Element</strong>when an unknown printer took a <span class="blah">galley of type</span> and scrambled it to make

Ich möchte diesen Text irgendwo trennen.
Dabei gelten folgende Regeln:

- Es darf nur zwischen einem Wort getrennt werden

- Es darf nie innerhalb des Markups getrennt werden
   (Damit meine ich zum Beispiel hier: <span | class="blah">)

- Es darf nie innerhalb eines Elementes getrennt werden
   (Damit meine ich zum Besipel hier: <h1>Bock | Element</h1>
   oder hier: <strong>Inline | Element</strong> )

- Wird innerhlab eines Elements oder eines Markups getrennt,
   soll die Trennung stattdessen davor passieren.
   (Also so: took a |<span class="blah"> )

Nehmen wir mal an, ich will den Text halbieren.
Wie weiss ich nun, ob ich mitten in einem Element gelandet bin?

Wie würdest du das anstellen?
Vorgehensweise?

Bin gespannt jeden Lösungsvorschlag!

  1. Wie würdest du das anstellen?

    Nimm einen XML-Parser, schick den Text per XHR den Webserver, mach mit dem String in der Sprache deiner Wahl was du willst und schick ihn zurück. Dürfte wesentlich einfacher sein als irgendwie in JavaScript herumzuwursteln.

    1. Hallo,

      in Javascript hat man ja einen HTML-Parser zu Verfügung(indirekt durch den Browser). Das http://de.selfhtml.org/javascript/objekte/node.htm@title=Node-Object könnte dir dann dabei behilflich sein, den Quelltext aufzuteilen ohne Elemente zu aufzuteilen.

      Viele Grüße Novi

      --
      "(...) deshalb mag ich Binärtechnik. Da gibt es nur drei Zustände: High, Low und Kaputt." (Wau Holland)
    2. als irgendwie in JavaScript herumzuwursteln.

      Ich benötige die Lösung als JavaScript Lösung.

      1. @@Schorsch:

        nuqneH

        Ich benötige die Lösung als JavaScript Lösung.

        Für welches Problem?

        Qapla'

        PS: http://de.wikipedia.org/wiki/Leerzeichen_in_Komposita

        --
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
        (Mark Twain)
  2. @@Schorsch:

    nuqneH

    Wie würdest du das anstellen?

    Was ist „das“? Was ist dein eigentliches Problem?

    Vorgehensweise?

    CSS? 'http://de.selfhtml.org/css/eigenschaften/ausrichtung.htm#white_space@title=white-space: nowrap'

    Qapla'

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

      Mein eigentliches Problem ist folgendes:

      Ich möchte den Inhalt eines <div />'s  nehmen und damit zwei
      andere <div />'s füllen.

      In den ersten <div /> fülle ich genau so viel rein, wie darin
      platz hat. Der Rest kommt in den zweiten <div />.

      Wenn ich den Inhalt in zwei Teile trenne, darf die
      Trennung nicht mitten durch ein Element gehen,
      und genau das bereitet mir Kopfzerbrechen.

      Gruss!
      Schorsch

      1. @@Schorsch:

        nuqneH

        Mein eigentliches Problem ist folgendes:

        Ich möchte den Inhalt eines <div />'s  nehmen und damit zwei
        andere <div />'s füllen.

        Nein, das ist nicht dein Problem. Was möchtest du eigentlich erreichen?

        Qapla'

        --
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
        (Mark Twain)
        1. Nein, das ist nicht dein Problem. Was möchtest du eigentlich erreichen?

          Mein Problem könnte ich noch so umschreiben:
          Ich möchte aus Text, der in einer Spalte ist, einen Zweipsalter machen...

          Aber technisch gesprochen formuliert sich meine Problemstellung
          meiner Meinung so:
          Wie teile ich den Inhalt (der in irgend einem Element liegt)
          auf zwei Elemente auf, ohne dass ich dabei irgendwelche HTML-Tags
          entzwei schneide?

          Gruss!
          Schorsch