mysql - MySQL:替换中文本中的字符串
问题描述
我有一个带有 type 条目的表mediumtext
。此条目包含具有 40k+ 字符的编码网站内容,如下所示:<!-- {"type":"layout","children":[{"type":"section","props":{"style":"default","width":"default","vertical_align":"middle","title_position":"top-left","title_rotation":"left","title_breakpoint":"xl"...
在文本中有以下跨度:...<span id=\""myDate\"">26.05.2020<\/span>...
我想用我的REGEXP_REPLACE
-function 替换 span 内的日期,这在我使用文本时有效:
UPDATE `jl72a_content` SET `fulltext` = REGEXP_REPLACE(
'...<span id=\""myDate\"">26.05.2020<\/span>...',
'<span id=\"myDate\">(.*?)\\\/span>',
'<span id=\"myDate\">my new value<\/span>')
WHERE id = 2;
但我有一个问题,我不能使用 `fulltext` 作为字符串:
CREATE TEMPORARY TABLE temp SELECT `fulltext` FROM `jl72a_content` WHERE id = 2;
UPDATE `jl72a_content` SET `fulltext` = REGEXP_REPLACE(
(SELECT `fulltext` FROM temp WHERE 1),
'<span id=\"myDate\">(.*?)\\\/span>',
'<span id=\"myDate\">my new value<\/span>?')
WHERE id = 2;
我不能将临时表的结果转换为 `mediumtext` 并且 `varchar` 限制为 65,535。
如何替换此条目中的跨度?
解决方案
推荐阅读
- python - Python 函数中不相关的变量更改
- node.js - 在电子应用程序中处理特定于平台的依赖项
- java - 当 jar 与 Apache Storm 一起运行时,为什么会引发 java.lang.NoClassDefFoundError (org/apache/storm/kafka/spout/KafkaSpout)?
- symfony - Symfony DoctrineFixturesBundle 依赖项问题
- c - ESP32 MQTT 事件处理
- javascript - 编写一个函数,该函数接受一个整数数组和一个“偶数”或“奇数”字符串
- python - 如何在 Python 中对多列进行排序?
- html - 即使使用移动视图,如何使标签、文本输入和错误消息在同一行
- php - 嵌套数组、对象输出的自动格式化程序
- python - 为什么我的登录功能只是重定向而不执行 func 中所写的内容