سؤال

ولدي الموقع الذي يسمح للمستخدمين نسخ ولصق نص الفيديو مطعم ب يقدم يوتيوب وتحميله إلى قاعدة بيانات. . أريد أن أكون قادرة على التحقق من أن هذا السيناريو هو صالح يوتيوب السيناريو وليس مجرد نص عشوائي أن شخصا ما كتبته في وأعتقد أن هذا يمكن القيام به مع مباراة PREG. أي أفكار؟

هل كانت مفيدة؟

المحلول

هل يمكن استخدام:

preg_match('/^<object (?<width_height>width="[[:digit:]]+" height="[[:digit:]]+")><param name="movie" value=(?<url>"http:\/\/www.youtube.com\/v\/[^&]+&hl=[[:alpha:]]{2}&fs=1")><\/param><param name="allowFullScreen" value="true"><\/param><param name="(?<asa>allowscriptaccess)" value="always"><\/param><embed src=(?P=url) type="application\/x-shockwave-flash" (?P=asa)="always" allowfullscreen="true" (?P=width_height)><\/embed><\/object>$/', $yt);

ولكن سيكون من الأفضل أن يكون منهم فقط إدخال URL (والذي هو أسهل بكثير للتحقق من صحة وتحليل)، وتوليد هذا بنفسك.

نصائح أخرى

لمطابقة عناوين URL:

$pattern = '/.*youtube.*(v=|\/v\/)([^&\/]*).*/i';
preg_match($pattern, $video, $matches)
$videoId = $matches[2];

ويمكنك بعد ذلك استخدام $videoId التفاف إلى أي تنسيق URL يوتيوب تريد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top