PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Postgresql -- pulisce i tag HTML nel mezzo della stringa

Supponendo che tu abbia una tabella come questa:

CREATE TABLE table1
(
  a character varying NOT NULL,
  ...
)

Puoi utilizzare il seguente regexp_replace:

update table1 set a = regexp_replace(a, '(.*?)<(\w+)\s+.*?>(.*)', '\1<\2>\3', 'g');

Il 'g' flag indica di sostituire tutti i pattern corrispondenti, non solo il primo.

Con questo input:

foo foo <th id="ddd"> foo foo <th id="www"> foo<div id="hey">

Ottengo il seguente output:

foo foo <th> foo foo <th> foo<div>