как удалить пустой тег p и из html в react-native - PullRequest
1 голос
/ 04 августа 2020

Я хочу удалить пустой тег p и из содержимого Dynami c html.

ниже - это содержимое html, полученное из ответа api. пустой тег p и создает нежелательные пробелы. Я хочу удалить ненужные пробелы.

Я использую пакет response-native-render- html для отображения содержимого html.

expo sdk : 38 
react-native-render-html : ~1.9.0 
platform : Android,Ios

<p> </p>
<p> &nbsp </p>  

Ответы [ 2 ]

1 голос
/ 06 августа 2020

В react-native-render- html есть опция игнорирования тега.

import { IGNORED_TAGS } from 'react-native-render-html/src/HTMLUtils';
...
 
// your props
ignoredTags={[ ...IGNORED_TAGS, 'tag1', 'tag2']}

1 голос
/ 04 августа 2020

Дезинфекция вывода на сервере была бы лучше, но, согласно вашему вопросу, вы можете использовать RegExp следующим образом:

/<p>(\s|(&nbsp))*<\/p>/gmi

Пример:

var string = "<p>  &nbsp   &nbsp  </p>";
var pattern = /<p>(\s|(&nbsp))*<\/p>/gmi;
var result = str.match(patt);

if(result) {
     console.log("Pattern matched. Do not add the string to the html.")
}

Описание шаблона:

  • Первый <p> - это простые символы элемента p.
  • (\s|(&nbsp))* сообщает, что будут группы символов, содержащие пробелы или символьную строку. Если вы найдете это нулевое время или больше, сравните их.
  • Final <\/p> - это завершающий элемент p. Перевернутое sla sh идет перед sla sh, потому что обычный sla sh - это специальный символ в RegExp. Таким образом, мы избегаем этого с помощью перевернутого sla sh.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...