2009-02-11 9 views

Antwort

19

Sie können es wie folgt tun:

]]>]]&gt;<![CDATA[ 

Dies beendet den CDATA-Abschnitt in zwei Teile zu brechen, aber es ist das, was Sie zu tun haben.

+0

Bessere Antwort IMHO als in das Duplikat :) –

+1

Ein Wort: Huch. –

+1

Paolo: Denken Sie mal so: CDATA ist ein Bereich, in dem Sie * alles * nicht haben müssen (und auch nicht können). Wie würdest du das Ende eines solchen Gebiets markieren? –

5

Sie können nicht. CDATA bietet keine Möglichkeit, Zeichen zu entkommen, so dass diese Zeichen immer das Ende des CDATA-Abschnitts darstellen. Sie können jedoch den CDATA-Abschnitt beenden, "]]&gt;" hinzufügen und einen neuen mit "" beginnen.

Auf diese Weise hat der String "]]>]]&gt;<![CDATA[" in einem CDATA-Abschnitt fast den Effekt, ein Escape-Zeichen für "`]]> "zu sein.

9

Ich denke

<![CDATA[]]]]><![CDATA[>]]> 

ist der Weg zu gehen.

Das heißt:

  • einen Abschnitt CDATA die Zeichenkette ]] (<![CDATA[]]]]>) mit
  • ein CDATA-Abschnitt die wörtliche Zeichenfolge enthält > (<![CDATA[>]]>)

In der Praxis gäbe es wahrscheinlich Text vor dem ersten ]] und/oder nach dem >

sein

Weitere Informationen unter http://en.wikipedia.org/wiki/CDATA#Uses_of_CDATA_sections

+4

Ich weiß nicht, ob das die richtige Antwort ist oder nicht, aber wenn ja, ist es die schlechteste richtige Antwort aller Zeiten. (Nichts für ungut beabsichtigt ... Ich verweise eher auf die Misere des Systems als auf Ihre Antwort.) – Beska

Verwandte Themen