Chris: HTML-Tags validieren

Hallo zusammen

Ich möchte auf einer News-Seite den Anfang von neuen Berichten anzeigen lassen (z.B. die ersten 300 Zeichen). Die Berichte können mit HTML formatiert werden und unter anderem auch Tabellen beinhalten. Wie kann ich nun vermeiden, dass auf der News-Seite unter Umständen Code ausgegeben wird, der einen öffnenden HTML-Tag enthält, aufgrund der Beschränkung der Zeichenlänge (z.B. 300 Zeichen) aber nicht mehr geschlossen wird? Merci für jeden Hinweis.

Gruss
Chris

  1. hallo,

    Die Berichte können mit HTML formatiert werden

    Das können sie nicht, da HTML eine Auszeichnungssprache ist. Zum Formatieren benutzt du bitte CSS.

    Wie kann ich nun vermeiden, dass auf der News-Seite unter Umständen Code ausgegeben wird, der einen öffnenden HTML-Tag enthält, aufgrund der Beschränkung der Zeichenlänge (z.B. 300 Zeichen) aber nicht mehr geschlossen wird?

    Du fragst ab, ob der letzte Tag mit </ beginnt. Ist das so, wird die Meldung ausgegeben, ist das nicht der Fall, wird ein entsprechender Warnhinweis ausgegeben. Du kannst auch die Zeichen zählen. Sind es mehr als deine theoretisch erlaubten 300, gibts eine Abbruchmeldung und man gelangt zurück zur Eingabenseite für Berichte.

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    http://www.christoph-schnauss.de
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
    1. Hi Christoph!

      Du fragst ab, ob der letzte Tag mit </ beginnt. Ist das so, wird die Meldung ausgegeben,

      Dann kann es aber auch noch offene Tags geben.

      ...ist das nicht der Fall, wird ein entsprechender Warnhinweis ausgegeben.

      Aber das wäre ja unschön.

      Eine Fehlermeldung wie "Die ersten 300 Zeichen dieses Textes können leider nicht angezeigt werden, weil es halt nicht geht." stört doch den Leser. :)

      Du kannst auch die Zeichen zählen. Sind es mehr als deine theoretisch erlaubten 300, gibts eine Abbruchmeldung und man gelangt zurück zur Eingabenseite für Berichte.

      Entweder hast du den OP falsch verstanden oder ich.

      Ich las mich überraschen. ;-)

      MfG H☼psel

      --
      "It's amazing I won. I was running against peace, prosperity, and incumbency."
      George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
      Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
    2. Hi,

      Du fragst ab, ob der letzte Tag mit </ beginnt. Ist das so, wird die Meldung ausgegeben, ist das nicht der Fall, wird ein entsprechender Warnhinweis ausgegeben.

      <b><i>[so viele Zeichen, daß das schließende i-tag das letzte in den 300 Zeichen ist]</i>

      Obwohl das letzte tag mit </ beginnt, ist die von Chris genannte Bedingung nicht erfüllt, da das b-Element nicht geschlossen wird.

      Dein Ansatz würde nur funktionieren, wenn Elemente nicht verschachtelt werden dürften.

      Entweder wie von Hopsel vorgeschlagen alle tags entfernen oder aber den String durchgehen und dabei merken, welche tags geöffnet, aber nicht wieder geschlossen werden und diese dann (in umgekehrter Reihenfolge zu den öffnenden tags) wieder schließen (dabei dann auch beachten, daß sich Position 300 ggf. mitten in einem tag befinden kann)

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      Schreinerei Waechter
      Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  2. Hi Chris!

    Ich würde den Anfang der Berichte unformatiert anzeigen lassen.

    Also erst alle HTML-Tags entfernen und davon die 300 ersten Zeichen nehmen.

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
  3. Hi,

    Die Berichte können mit HTML formatiert werden und unter anderem auch Tabellen beinhalten.

    Bei Verwendung von XHTML kannst Du "einfach" die XML-Funktionen von PHP nutzen.

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!