替换 MySql 中的格式化字符串
我正在尝试用较新的、略有不同的数据库替换 MySql 数据库中旧 BB 标签标记的所有实例。
旧格式是这样的...
[youtube:********]{Video ID}[/youtube:********]
我想用这个替换...
[youtube:********]http://www.youtube.com/watch?v={Video ID}[/youtube:********]
其中 * 是字母数字字符的随机字符串。所以简单地 REPLACE(feild, '[youtube:********]', '[youtube:********]http://www.youtube.com?watch?v =
不幸的是,
我使用 REPLACE()
和 INSTR()
所做的所有笨拙尝试都导致了像 这样的令人讨厌的事情。 [b]粗体文本[/b]http://www.youtube.com/watch?v=
有没有办法在 MySql 中进行这种模式替换?
谢谢。
I'm trying to replace all instances of an old BB tag markup in a MySql database with a newer, slightly different one.
The old format is this...
[youtube:********]{Video ID}[/youtube:********]
Which I would like to replace with this...
[youtube:********]http://www.youtube.com/watch?v={Video ID}[/youtube:********]
Where the *'s are a random string of alpha-numeric characters. So simply REPLACE(feild, '[youtube:********]', '[youtube:********]http://www.youtube.com?watch?v=
won't do unfortunately.
All the clumsy attempts I've made using REPLACE()
and INSTR()
have resulted in nasty things like [b]Bold Text[/b]http://www.youtube.com/watch?v=
Is there a way to do this kind of pattern replacement in MySql? Possibly with Regular Expressions?
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是你尝试过的吗?
这取决于是否没有任何其他出现 ']{'
编辑:您可能还想尝试:
只需使用 MYSQl 文档检查语法。 Char_LNEGTH() 可能需要是 LENGTH() - 我确定你明白了
Is this what you tried?
This would depend if there isnt any other occurences of ']{'
EDIT: You may also want to try:
Just check the syntax with MYSQl docs. Char_LNEGTH() may need to be LENGTH() - im sure you get the idea