html - Postgresql——清理字符串中间的 HTML 标签

标签 html regex postgresql

如果我在 Postgresql 9.1 专栏中有这个:

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

我希望它更新为:

foo foo <th> foo foo <th> foo

我尝试过 regex_replace,但我没有成功。

最佳答案

假设您有一个这样的表:

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

您可以使用以下 regexp_replace:

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

'g' 标志表示替换所有匹配的模式,而不仅仅是第一个。

有了这个输入:

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

我得到以下输出:

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

关于html - Postgresql——清理字符串中间的 HTML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12235517/

相关文章:

javascript - 我如何创建一个函数,以便编程行将等到它完成并移动到 javascript 中的下一行

php - 如何从 php 文件中读取所有数值?

java - 如何使用 Spring Boot 将使用 Postgresql 的 Spring 应用程序部署到 Heroku?

sql - 根据行值计算行数

php - HTML 和 PHP 之间的区别

html - CSS Ease-in-out 到全屏

regex - 递归搜索以字符串开头的目录以查找内部目录匹配模式

sql - 如何在 SQL 中返回具有重复非唯一查询值的多行?

html - 制作不同大小的文本框

regex - 正则表达式用于匹配大写字母和破折号,后跟逗号