【发布时间】:2021-04-03 01:11:54
【问题描述】:
我正在尝试匹配 SMF 论坛中的内部链接,并将 BBC 标记从 url 转换为 iurl,以便这样的链接:
[url=https://www.translatum.gr/forum/index.php?topic=989144.0]κατ' ἐπιταγήν -> by way of command[/url]
会变成:
[iurl=https://www.translatum.gr/forum/index.php?topic=989144.0]κατ' ἐπιταγήν -> by way of command[/iurl]
我在 PhpMyAdmin 上尝试过类似的操作(使用 MariaDB 10.3)
UPDATE smf_messages SET body = REGEXP_REPLACE(body, '(\[url=https:\/\/www\.translatum\.gr)(.*?)(\[\/url\])', '[iurl=https://www.translatum.gr\\2[/iurl]') WHERE ID_TOPIC = 987873
虽然似乎可以在 test in regex101 上工作,但会在 SQL 上提供垃圾输出(即,它被链接及其文本的多次迭代替换)。我用过this for syntax reference
【问题讨论】:
标签: regex mariadb regexp-replace mariadb-10.3