这是我在类似 DB 情况(正在存储的 html)的“预渲染清理”过程中使用的一个安全过程。不幸的是,它是用 Java 编写的,但这个概念(和使用的正则表达式)可以应用于 SQL 更新查询。
一个注意事项是,我不仅建议在执行此操作之前进行备份,还建议在数据库的“安全”版本上进行测试。当然,对于这种规模的任何更新程序,您可能已经知道风险。
注意:“要清理的 HTML 块”不应将其解释为字符串文字,而应仅解释为“displayContent 是保存 DB 的 html 结果的变量,在这种情况下,只是循环内结果集的 1 次迭代。
String displayContent = "THE BLOCK OF HTML TO CLEAN";
String tagregex = "<p[^>]*>";
Pattern p2 = Pattern.compile(tagregex);
Matcher m2 = p2.matcher(displayContent);
displayContent = m2.replaceAll("");
displayContent = displayContent.replaceAll("</p>", "");
您当然可以将其用于任何其他 html 标签 + 它们的属性。祝你好运!