次の配列に拡張子を持つすべての URL を取得する正規表現を探しています。
Array
(
[0] => mp4
[1] => m4v
[2] => webm
[3] => ogv
[4] => wmv
[5] => flv
)
この配列は、呼び出された内部 WordPress 関数によって返され、wp_get_video_extensions()
WordPress が認識するビデオ URL です。
コンテンツのブロックは、内部に URL がある場合、次のようになります。
「はい、でも私はそれなりのペースで成長しています」とヤマネは言いました:「そんなばかげた方法ではありません。」そして彼は非常に不機嫌そうに起き上がり、コートの反対側に渡りました。
その間ずっと、女王は帽子屋をじっと見つめていました。ヤマネが法廷を横切ったちょうどその時、女王は法廷の役人に言いました。惨めな帽子屋は震えすぎて、靴を両方とも脱ぎ捨てました。
[動画 mp4="http://www.example.com/files/video/video1.mp4"][/video]
「証拠を出せ」と王様は怒って繰り返した。
http://www.example.com/files/video/video2.flv
「私は貧乏人です、陛下」と帽子屋は震える声で言い始めました。薄い――そしてお茶のきらめき――」
そこにある両方のビデオURLを見つけて、URL全体を配列に返すようにしようとしています。
ここに私が持っているものがあります:
preg_match_all( '/^https?:\/\/(?:[a-z\-]+\.)+[a-z]{2,6}(?:/[^/#?]+)+\.(?:' . implode( '|', wp_get_video_extensions() ) . ')$/', $post->post_content, $matches);
そして、私はこれを取得しています:
警告: preg_match_all(): 不明な修飾子 '['
理想的には、私はこれを取得したいと思います:
Array
(
[0] => Array
(
[0] => http://www.example.com/files/video/video1.mp4
[1] => http://www.example.com/files/video/video2.flv
)
[1] => Array
(
[0] => http://www.example.com/
[1] => http://www.example.com/
)
[2] => Array
(
[0] => files/video/
[1] => files/video/
)
[3] => Array
(
[0] => video1.mp4
[1] => video2.flv
)
)
parse_url()
しかし、後で残りを分割するために使用できるので、これも完璧です。
Array
(
[0] => http://www.example.com/files/video/video1.mp4
[1] => http://www.example.com/files/video/video2.flv
)