我有一个带有mysql数据库的Wordpress博客。我最近不得不更改用于格式化代码的插件,因此,我面临着在特定字段中用另一个子字符串替换多行中的子字符串的前景。
搜索文字为:<pre class="lang:default decode:true ">
替换它的文本是:[code]
包含子字符串的列(字段)是:post_content
我目前所做的是使用phpmyadmin,查找文本,将所有行导出到sql转储,在转储文件上执行sed,然后重新导入它。子串是较大字符串的一部分(根据定义),字符串的其他元素不应受到干扰。
我想学习如何使用mysql执行此操作而无需处理转储。
在尝试了mzedeler的解决方案之后,我发现一些表达式包含了
<pre class="lang:default decode:true">
代替<pre class="lang:default decode:true ">
(真实之后有一个额外空格)。如何进行正则表达式搜索,然后用预期的字符串替换?
答案 0 :(得分:2)
UPDATE <my table>
SET post_content = REPLACE(
post_content,
'<pre class="lang:default decode:true ">',
'[code]'
)