YouTube URLを含むテキストがあります。 YouTubeのビデオコードを除いて、リンクのすべての部分を削除する必要があります。 URLは空白で囲まれても、空白で囲まれてもかまいません空白以外の文字はURLに隣接しません。Regex:文字列内のYouTube URLをスクラブし、YouTubeビデオコードのみを残す
SAMPLE:
$txt = "This text contain this link: https://www.youtube.com/watch?v=b8ri14rw32c&rel=0 and so on..."
抽出ID:EXPECTED
$pattern = '#(?<=v=|v\/|vi=|vi\/|youtu.be\/)[a-zA-Z0-9_-]{11}#';
preg_match_all($pattern, $txt, $matches);
print_r($matches);
:
Array
(
[0] = "This text contain this link b8ri14rw32c and so on..."
)
あなたは疑問を持っていますか? –
正規表現があなたの説明と一致しません。前後のサンプルを前後に表示する_ – sln
@sln '$ pattern = '#(?<= v = | v \/| vi = | vi \/| youtu.be \ /)[a-zA-Z0-9 _-] {11}#'; preg_match_all($パターン、$ txt、$一致); print_r($ matches); ' – degeaba