PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Postgresql - nettoie les balises HTML au milieu de la chaîne

En supposant que vous ayez un tableau comme celui-ci :

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

Vous pouvez utiliser la regexp_replace suivante :

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

Le 'g' flag indique de remplacer tous les modèles correspondants, pas seulement le premier.

Avec cette entrée :

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

J'obtiens la sortie suivante :

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