2016-04-02 4 views
0

sintax検索-置き換えます。これにWordpressのWP-CLIの私はこの文を変更したい

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

を:

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

私は、データベース内のユーチューブ映像のすべての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 

それは間違いありませんか?引用符やワイルドカードについてはわかりません。

ありがとうございました!

答えて

1

、すべての前方をエスケープするようにしてくださいは、最初の引数にスラッシュ:彼らは重要じゃないと第三試合を使用するので

$ 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 

は、マッチした最初の二つを無視します2番目の(置換)引数それはあなたが変更するつもりはないかもしれないと影響を受けたすべてのテーブルがあるかどうかを確認するために最初の--dry-実行を行うことをお勧めします

$ wp cache flush 

はまたに覚えています。

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

0

これには正規表現は必要ありませんが、1回の目盛りでそれを引用できます。これを実行して、発生する置換をテストして表示することができます。 --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

はい、それはこの場合のために動作しますが、ワイルドカードでは動作しません:幅=「[ワイルドカードこちら]」高さ=「[ここでのワイルドカード]は」ありがとうございました! – aitor

関連する問題