だから、私はこのコードを得ました:
function PCRT ($input) {
if (preg_match('/youtube\.com\/watch\?v=([^\&\?\/]+)/', $input, $id)) {
echo '1<pre>'; print_r($id); echo '</pre>';
} else if (preg_match('/youtube\.com\/embed\/([^\&\?\/]+)/', $input, $id)) {
echo '2<pre>'; print_r($id); echo '</pre>';
} else if (preg_match('/youtube\.com\/v\/([^\&\?\/]+)/', $input, $id)) {
echo '3<pre>'; print_r($id); echo '</pre>';
} else if (preg_match('/youtu\.be\/([^\&\?\/]+)/', $input, $id)) {
echo '4<pre>'; print_r($id); echo '</pre>';
} else {
return 'no match';
}
}
echo PCRT(' Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec id tristique nisi. Praesent dolor nulla, auctor eu consequat quis, molestie non augue. Proin fermentum, metus et mattis convallis, lorem nunc posuere justo, sed posuere quam lacus ut felis. Vestibulum auctor ante sed eros pulvinar rutrum. Sed et pretium nisl. Suspendisse sed risus odio. Donec eu sodales est, vitae euismod justo. Cras tincidunt eros nisl, ac convallis lorem cursus nec. Nam malesuada, mi et dictum placerat, nulla nunc auctor dui, in sollicitudin metus purus non felis. Nulla lacinia pretium dolor, sit amet egestas lacus vulputate a. Integer sagittis libero justo, dignissim aliquet orci aliquet ut. Suspendisse a est ullamcorper libero vulputate bibendum eu eu massa. Phasellus nunc libero, gravida ac aliquet sed, pellentesque vel ipsum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris at mauris aliquam, consectetur nulla ac, tempus tortor. http://youtube.com/v/123456874145
Nunc tempor neque sed libero sodales, eu malesuada justo pretium. Integer ac dolor sit amet eros volutpat pulvinar. Cras pharetra accumsan metus. Proin at risus commodo sapien fermentum ullamcorper. Suspendisse ornare varius est, eget condimentum lectus sagittis vitae. Curabitur a massa nec ligula sodales fringilla. Morbi vestibulum rutrum risus. In sit amet turpis ut lacus dapibus posuere sed sit amet metus. Phasellus et posuere lacus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas vitae mi sit amet neque pharetra mollis. Mauris lorem est, luctus id leo nec, laoreet eleifend augue. Sed posuere nisl non nisl congue blandit a quis orci. Vestibulum sit amet magna sit amet turpis ultricies dictum. ');
今問題はその結果です:
3
Array
(
[0] => youtube.com/v/123456874145
Nunc tempor neque sed libero sodales, eu malesuada justo pretium. Integer ac dolor sit amet eros volutpat pulvinar. Cras pharetra accumsan metus. Proin at risus commodo sapien fermentum ullamcorper. Suspendisse ornare varius est, eget condimentum lectus sagittis vitae. Curabitur a massa nec ligula sodales fringilla. Morbi vestibulum rutrum risus. In sit amet turpis ut lacus dapibus posuere sed sit amet metus. Phasellus et posuere lacus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas vitae mi sit amet neque pharetra mollis. Mauris lorem est, luctus id leo nec, laoreet eleifend augue. Sed posuere nisl non nisl congue blandit a quis orci. Vestibulum sit amet magna sit amet turpis ultricies dictum.
[1] => 123456874145
Nunc tempor neque sed libero sodales, eu malesuada justo pretium. Integer ac dolor sit amet eros volutpat pulvinar. Cras pharetra accumsan metus. Proin at risus commodo sapien fermentum ullamcorper. Suspendisse ornare varius est, eget condimentum lectus sagittis vitae. Curabitur a massa nec ligula sodales fringilla. Morbi vestibulum rutrum risus. In sit amet turpis ut lacus dapibus posuere sed sit amet metus. Phasellus et posuere lacus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas vitae mi sit amet neque pharetra mollis. Mauris lorem est, luctus id leo nec, laoreet eleifend augue. Sed posuere nisl non nisl congue blandit a quis orci. Vestibulum sit amet magna sit amet turpis ultricies dictum.
)
私がやりたいことは、完全なリンクとIDを取得することだけです。残りのコンテンツではありません。私は正規表現が非常に苦手なので、それでも。次に、一致を停止する正しい方法がわかりません。と思ったら、コンテンツに複数のリンクがあれば、それも取得したい..Nunc tempor neque sed libero sodales...
そこの部分だけは不要です。