URL 的 Wordpress WP-CLI 搜索替换语法
Wordpress WP-CLI search-replace syntax for URLs
我要改这句话:
<iframe width="850" height="478" src="https://www.youtube.com/embed/4zH9Zca1vRM" frameborder="0" allowfullscreen></iframe>
为此:
https://www.youtu.be/4zH9Zca1vRM
我可以为数据库中 YouTube 视频的每个 iframe 执行此操作。 do it 正确的句子是什么?我猜是这样的:
步骤 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
对吗?我不确定引号和通配符。
谢谢!
你不需要正则表达式,你可以用一个勾号来引用它。您可以 运行 这个来测试和显示将发生的替换。删除 --dry-运行 标志以进行实际替换。
$ 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
要使用正则表达式更新,请务必转义第一个参数的所有正斜杠:
$ 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/' --regex
忽略前两个匹配项,因为它们不重要,在第二个(替换)参数中使用第三个匹配项。
同时记得:
$ wp cache flush
最好先执行 --dry-run 以查看是否有您可能不打算修改的受影响的表。
还有一个正则表达式,
这个修复了 youtube 链接或 iframe http 或 https
- http://www.youtube.com/watch?v=gVoUPnXqvNE&whatever#t=30
- http://www.youtube.com/embed/gVoUPnXqvNE?feature=whatever#t=30
并用将在 wordpress 中显示为嵌入的简单字符串替换它:
$ 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/' --regex --regex-flags='s'
我要改这句话:
<iframe width="850" height="478" src="https://www.youtube.com/embed/4zH9Zca1vRM" frameborder="0" allowfullscreen></iframe>
为此:
https://www.youtu.be/4zH9Zca1vRM
我可以为数据库中 YouTube 视频的每个 iframe 执行此操作。 do it 正确的句子是什么?我猜是这样的:
步骤 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
对吗?我不确定引号和通配符。
谢谢!
你不需要正则表达式,你可以用一个勾号来引用它。您可以 运行 这个来测试和显示将发生的替换。删除 --dry-运行 标志以进行实际替换。
$ 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
要使用正则表达式更新,请务必转义第一个参数的所有正斜杠:
$ 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/' --regex
忽略前两个匹配项,因为它们不重要,在第二个(替换)参数中使用第三个匹配项。
同时记得:
$ wp cache flush
最好先执行 --dry-run 以查看是否有您可能不打算修改的受影响的表。
还有一个正则表达式, 这个修复了 youtube 链接或 iframe http 或 https
- http://www.youtube.com/watch?v=gVoUPnXqvNE&whatever#t=30
- http://www.youtube.com/embed/gVoUPnXqvNE?feature=whatever#t=30
并用将在 wordpress 中显示为嵌入的简单字符串替换它:
$ 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/' --regex --regex-flags='s'