首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Wordpress WP-CLI搜索-替换URL的语法

Wordpress WP-CLI搜索-替换URL的语法
EN

Stack Overflow用户
提问于 2016-04-02 15:56:42
回答 3查看 1.3K关注 0票数 0

我想把这句话改一下:

<iframe width="850" height="478" src="https://www.youtube.com/embed/4zH9Zca1vRM" frameborder="0" allowfullscreen></iframe>

要这样做:

https://www.youtu.be/4zH9Zca1vRM

我可以对数据库中的每个youtube视频iframe执行此操作。做这件事的正确句子是什么?我猜大概是这样的:

步骤1。替换第一部分:

wp search-replace '<iframe width="*" height="*" src="https://www.youtube.com/embed/' 'https://www.youtu.be/'  --regex

步骤2。更换最后一个部件:

wp search-replace '" frameborder="0" allowfullscreen></iframe>' ''  --regex

是对的吗?我对引号和通配符不太确定。

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-02-04 15:42:47

要使用正则表达式进行更新,请确保转义第一个参数的所有正斜杠:

$ wp search-replace '<iframe width="([0-9]+)" height="([0-9]+)" src="https:\/\/www.youtube.com\/embed\/([a-zA-Z0-9]+)" frameborder="0" allowfullscreen><\/iframe>' 'https://www.youtu.be/\3' --regex 

忽略前两个匹配,因为它们不重要,并在第二个(替换)参数中使用第三个匹配。

还要记住:

$ wp cache flush

最好先做一次--预演,看看是否有您不打算修改的受影响的表。

http://wp-cli.org/commands/search-replace/

票数 1
EN

Stack Overflow用户

发布于 2016-04-03 18:04:59

你不需要正则表达式,你可以用一个滴答符引用它。您可以运行此命令来测试并显示将要发生的替换。删除--dry-run标志以进行实际替换。

$ wp search-replace '<iframe width="850" height="478" src="https://www.youtube.com/embed/4zH9Zca1vRM" frameborder="0" allowfullscreen></iframe>' 'https://www.youtu.be/4zH9Zca1vRM' --dry-run
票数 0
EN

Stack Overflow用户

发布于 2020-12-28 08:47:38

还有另一个正则表达式,它修复了youtube链接或iframe http或https。

并将其替换为一个简单的字符串,该字符串将在wordpress中显示为embed:

https://youtu.be/gVoUPnXqvNE

$ wp search-replace '<(?:a|iframe)\s[^>]*(?:href|src)="https?:\/\/www\.youtube\.com\/(?:embed\/|watch\?v=)([a-zA-Z0-9-]+)(?:(?:\?&)[^"#\s]*)?(#t=[0-9]+)?"[^>]*>.*?<\/(?:a|iframe)>' 'https://youtu.be/\1\2' --regex --regex-flags='s'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36370718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档