tone: X-tes Vorkommen eines Zeichen herausfinden

Hallo,

ich möchte mir einen RSS Feed zusammenstellen. Als <item><description> hatte ich bisher immer folgendes:

<xsl:value-of select="substring($beschreibung,1,200)"/>

d.h. er nimmt sich von der Variable 'beschreibung' die ersten 200 Zeichen und zeigt sie an. Diese Vorgehensweise ist aber sehr unschön, da es vorkommen kann, dass mitten im Wort plötzlich die 200er Marke erreicht wird und somit abgebrochen wird.

Etwas besser (wenn auch nicht ansatzweise perfekt) ist es in meinen Augen, nach dem 10. Auftreten eines Leerzeichens Schluss zu machen. Wie kann ich diesen Punkt also finden?

Vielen Dank

  1. Hallo,

    ich möchte mir einen RSS Feed zusammenstellen. Als <item><description> hatte ich bisher immer folgendes:

    <xsl:value-of select="substring($beschreibung,1,200)"/>

    d.h. er nimmt sich von der Variable 'beschreibung' die ersten 200 Zeichen und zeigt sie an. Diese Vorgehensweise ist aber sehr unschön, da es vorkommen kann, dass mitten im Wort plötzlich die 200er Marke erreicht wird und somit abgebrochen wird.

    Etwas besser (wenn auch nicht ansatzweise perfekt) ist es in meinen Augen, nach dem 10. Auftreten eines Leerzeichens Schluss zu machen. Wie kann ich diesen Punkt also finden?

    Die einfachste (und performanteste) Möglichkeit die sich bietet ist, das nächste Leerzeichen nach dem 200. Zeichen zu suchen und den Text bis dahin dann ausgeben:

    <xsl:value-of select="substring-before($beschreibung, substring-after(substring-after($beschreibung, substring($beschreibung,1,200)), ' '))" />

    Grüße
    Thomas

    1. Hallo Thomas,
      dein Vorschlag ist um einiges besser. Vielen Dank für die Hilfe.