PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Postgresql -- limpa tags HTML no meio da string


Supondo que você tenha uma tabela como esta:
CREATE TABLE table1
(
  a character varying NOT NULL,
  ...
)

Você pode usar o seguinte regexp_replace:
update table1 set a = regexp_replace(a, '(.*?)<(\w+)\s+.*?>(.*)', '\1<\2>\3', 'g');

O 'g' sinalizador indica substituir todos os padrões correspondentes, não apenas o primeiro.

Com esta entrada:
foo foo <th id="ddd"> foo foo <th id="www"> foo<div id="hey">

Eu recebo a seguinte saída:
foo foo <th> foo foo <th> foo<div>