我在迁移一套程序中时,我有个表的文章摘要里面带有HTML代码,新程序里输出不能解析html代码,想办法转换成纯文本代码。

 

例:

show中有的des字段中有代码

先建立一个temp表,

CREATE TABLE temp_table (
  ID INT,
  pure_text TEXT
);

这样是建立一个id,和一个存放txt的表

这样是用于把show表中的des转存过来,还用ID来对应。

 

INSERT INTO temp_table (ID, pure_text)
SELECT ID, TRIM(REPLACE(REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(des, '>', -1), '<', 1), '\n', ''), '\r', '')) AS pure_des
FROM show;

使用SUBSTRING_INDEXREPLACETRIM 函数来移除HTML标签、换行符和回车符,并且去除多余的空格。并把结果插入到临时表中

 

UPDATE show AS y
JOIN temp_table AS t ON y.ID = t.ID
SET y.des= t.pure_text;

这个更新语句使用了表连接(JOIN)来将 show表和 temp_table 表关联起来,根据 ID 进行匹配,并将 temp_table 表中的 pure_text 列的值直接赋给 show表的 des 列。

 

这样就完成了,不过大家在做的时候一定要备份,出问题就麻烦了。