使用 SQL 从引号标签中删除 'pid="%" dateline="%"' 字符串

问题描述 投票:0回答:1

我正在将 MyBB 板转换为 phpBB。我遇到的唯一问题是 MyBB 有这样的引用标签:

[引用=“用户名”pid=“4993”日期线=“1703638754”]

但是 phpBB3 使用这个:

[quote="用户名"]

我想做的就是找到包含第一种格式的任何帖子,并将其在数据库中更改为第二种格式,然后再次运行转换,这将解决问题。

我尝试过这个,但只有当帖子本身以引用打开时它才有效。此外,如果有连续的引号标签,它对它们不起作用

UPDATE mybb_posts
SET message = 
  CONCAT(
    '%[quote="',
    SUBSTRING_INDEX(SUBSTRING_INDEX(message, 'quote="', -1), '"', 1),
    '"]%',
    SUBSTRING_INDEX(message, '"]', -1)
  ) WHERE `message` LIKE '%[quote=\"%\" pid=\"%\" dateline=\"%\"]%' 
sql mysql mysqli phpmyadmin
1个回答
0
投票

此查询将对您有所帮助。

UPDATE mybb_posts
SET message = 
  CONCAT(
    '%[quote="',
    SUBSTRING_INDEX(SUBSTRING_INDEX(message, 'quote="', -1), '"', 1),
    '"]%',
    SUBSTRING_INDEX(message, '"', -1)
  )
WHERE message LIKE '%[quote="%" pid="%" dateline="%"]%'
© www.soinside.com 2019 - 2024. All rights reserved.