Как я пишу литерал “]]>” в разделе CDATA без него заканчивающий раздел

Примечание: ответ обрабатывает исходный регистр - перед обновлением

Используйте String.match() , чтобы найти последовательность не чисел, которая заканчивается последовательностью числа ( regex101 ):

var string = 'Item 1Item 2Item 3Item 4'
var arr = string.match(/\D+\d+/g)
console.log(arr);

10
задан robx 21 November 2014 в 13:31
поделиться

3 ответа

Можно сделать это как это:

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

Это заканчивает тем, что повредило раздел CDATA в двух частях, но это - то, что необходимо сделать.

19
ответ дан 3 December 2019 в 14:35
поделиться

Вы не можете. CDATA не обеспечивает пути к символам ESC, таким образом, те символы будут всегда представлять конец раздела CDATA. Можно, однако, позволить им закончить раздел CDATA, добавить"]]&gt;"и запустите новый с"<![CDATA[".

Таким образом, Строка"]]>]]&gt;<![CDATA["имеет почти эффект того, чтобы быть Escape для"']]>" в разделе CDATA.

5
ответ дан 3 December 2019 в 14:35
поделиться

Я думаю

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

путь состоит в том, чтобы пойти.

Это:

  • один раздел CDATA, содержащий литеральную строку ]] (<![CDATA[]]]]>)
  • один раздел CDATA, содержащий литеральную строку > (<![CDATA[>]]>)

На практике перед первым, вероятно, был бы текст ]] и/или после >

Посмотрите больше по http://en.wikipedia.org/wiki/CDATA#Uses_of_CDATA_sections

9
ответ дан 3 December 2019 в 14:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: