Настраиваемое поле Netsuite с REGEXP_REPLACE для удаления кода HTML, кроме возврата каретки - PullRequest
0 голосов
/ 19 марта 2019

У меня есть настраиваемое поле с некоторым HTML-кодом в нем:

<h1>A H1 Heading</h1>
<h2>A H2 Heading</h2>
<b>Rich Text</b><br>
fsdfafsdaf df fsda f asdfa f asdfsa fa sfd<br>
<ol><li>numbered list</li><li>fgdsfsd f sa</li></ol>Another List<br>
<ul><li>bulleted</li></ul>

У меня также есть другое несохраненное поле, в котором я хочу отобразить текстовую версию вышеупомянутого текста, используя REGEXP_REPLACE, в то время каксохранение возврата каретки / разрывов строк, возможно, даже преобразование <br> и <br/> в \r\n

Однако шаблоны и т. д. в полях NetSuite, по-видимому, отличаются от использования? replace (...) в freemarker ... и я ужасно вспоминаю шаблоны регулярных выражений:)

Предполагая, что HTML-текст хранится в custitem_htmltext, какое выражение я мог бы использовать в качестве значения по умолчанию для настраиваемого поля NetSuite Text Areaотобразить приведенный выше HTML-код в виде:

A Заголовок H1

A Заголовок H2

Форматированный текст

fsdfafsdaf df fsda f asdfa f asdfsa fa sfd

и т.д ...

Я понимаю, что маркированные или нумерованные списки будут выглядеть дерьмом.

Моя текущая нерабочая формула:

REGEXP_REPLACE({custitem_htmltext},'<[^<>]*>','')

Я также пробовал:

REGEXP_REPLACE({custitem_htmltext},'<[^>]+>','') - не работает

1 Ответ

0 голосов
/ 19 марта 2019

Когда вы используете тип текстовой области настраиваемого поля и вводите HTML, NetSuite, по-видимому, заменяет управляющие символы ('<' и '>') на объекты HTML ('<' и '>').Это можно увидеть, если вы введете HTML, а затем измените тип поля на Длинный текст.

Если вы измените оба поля на Длинный текст и повторно введете данные и формулу, REGEXP_REPLACE() должен работать как положено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...