【问题标题】:Add a line break using MySQL search & replace使用 MySQL 搜索和替换添加换行符
【发布时间】:2017-05-18 10:39:16
【问题描述】:

我刚刚将一个 SMF 论坛迁移到 WordPress BBPress。问题是帖子中的视频网址不在自己的行中,因此 WordPress 显示网址而不是显示视频。

我想在数据库中进行搜索和替换,并在任何 YouTube 网址之前添加一个 return。

例子:

What do you think???https://www.youtube.com/watch?v=SbbM_v2_5wA

会变成:

What do you think???
https://www.youtube.com/watch?v=SbbM_v2_5wA

我该怎么做?

【问题讨论】:

    标签: mysql wordpress search replace


    【解决方案1】:

    首先在您的数据备份实例上尝试此操作,因为它可能不会完全符合您的预期;简而言之,下面将替换包含字符串 'https://www.youtube.com/' 的每个 FIELD 与在 url 之前被换行符剪切的相同字符串。如果您在数据上运行代码两次,它将插入第二个换行符,这可能不是您想要的。

    update TABLENAME set FIELD = concat(substring(FIELD, 1, locate('https://www.youtube.com/', FIELD)-1),'\n',substring(FIELD, locate('https://www.youtube.com/', FIELD))) where locate('https://www.youtube.com/', FIELD) > 0;
    

    您需要更改标识符 TABLENAMEFIELD 以反映您的架构。

    【讨论】:

    • 效果很好。谢谢你告诉我这是怎么做的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-27
    • 2023-03-30
    • 2011-03-24
    • 1970-01-01
    • 2016-03-21
    • 1970-01-01
    相关资源
    最近更新 更多