একটি ইউটিউব ভিডিও ইউআরএল বিভিন্ন ফর্ম্যাটে মুখোমুখি হতে পারে:
- সর্বশেষ সংক্ষিপ্ত বিন্যাস:
http://youtu.be/NLqAF9hrVbY
- iframe:
http://www.youtube.com/embed/NLqAF9hrVbY
- iframe (সুরক্ষিত):
https://www.youtube.com/embed/NLqAF9hrVbY
- বস্তু পরম:
http://www.youtube.com/v/NLqAF9hrVbY?fs=1&hl=en_US
- বস্তু এম্বেড:
http://www.youtube.com/v/NLqAF9hrVbY?fs=1&hl=en_US
- ঘড়ি:
http://www.youtube.com/watch?v=NLqAF9hrVbY
- ব্যবহারকারী:
http://www.youtube.com/user/Scobleizer#p/u/1/1p3vcRhsYGo
- ytscreeningroom:
http://www.youtube.com/ytscreeningroom?v=NRHVzbJVx8I
- যে কোনও জিনিস / যায়!
http://www.youtube.com/sandalsResorts#p/c/54B8C800269D7C1B/2/PPS-8DMrAn4
- যে কোনও / সাবডোমেন / খুব:
http://gdata.youtube.com/feeds/api/videos/NLqAF9hrVbY
- আরও প্যারাম:
http://www.youtube.com/watch?v=spDj54kf-vY&feature=g-vrec
- ক্যোয়ারিতে বিন্দু থাকতে পারে:
http://www.youtube.com/watch?v=spDj54kf-vY&feature=youtu.be
- নোকি ডোমেন:
http://www.youtube-nocookie.com
এখানে মন্তব্যযুক্ত রেইগেক্সের সাথে একটি পিএইচপি ফাংশন রয়েছে যা এই প্রতিটি URL ফর্মের সাথে মেলে এবং তাদের লিঙ্কগুলিতে রূপান্তর করে (যদি তারা ইতিমধ্যে লিঙ্ক না হয়):
function linkifyYouTubeURLs($text) {
$text = preg_replace('~(?#!js YouTubeId Rev:20160125_1800)
# Match non-linked youtube URL in the wild. (Rev:20130823)
https?:// # Required scheme. Either http or https.
(?:[0-9A-Z-]+\.)? # Optional subdomain.
(?: # Group host alternatives.
youtu\.be/ # Either youtu.be,
| youtube # or youtube.com or
(?:-nocookie)? # youtube-nocookie.com
\.com # followed by
\S*? # Allow anything up to VIDEO_ID,
[^\w\s-] # but char before ID is non-ID char.
) # End host alternatives.
([\w-]{11}) # $1: VIDEO_ID is exactly 11 chars.
(?=[^\w-]|$) # Assert next char is non-ID or EOS.
(?! # Assert URL is not pre-linked.
[?=&+%\w.-]* # Allow URL (query) remainder.
(?: # Group pre-linked alternatives.
[\'"][^<>]*> # Either inside a start tag,
| </a> # or inside <a> element text contents.
) # End recognized pre-linked alts.
) # End negative lookahead assertion.
[?=&+%\w.-]* # Consume any URL (query) remainder.
~ix', '<a href="http://www.youtube.com/watch?v=$1">YouTube link: $1</a>',
$text);
return $text;
}
; // শেষ $ ইউটিউবআইডি।
এবং এখানে ঠিক একই রেজেক্স সহ একটি জাভাস্ক্রিপ্ট সংস্করণ রয়েছে (মন্তব্যগুলি সরানো হয়েছে):
function linkifyYouTubeURLs(text) {
var re = /https?:\/\/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube(?:-nocookie)?\.com\S*?[^\w\s-])([\w-]{11})(?=[^\w-]|$)(?![?=&+%\w.-]*(?:['"][^<>]*>|<\/a>))[?=&+%\w.-]*/ig;
return text.replace(re,
'<a href="http://www.youtube.com/watch?v=$1">YouTube link: $1</a>');
}
মন্তব্য:
- URL এর VIDEO_ID অংশ এক এবং একমাত্র ক্যাপচার গ্রুপ বন্দী হয়:
$1
।
- আপনি যদি জানেন যে আপনার পাঠ্যে কোনও প্রাক-লিঙ্কযুক্ত URL থাকে না তবে আপনি নিরাপদে conditionণাত্মক দৃষ্টিনন্দন উত্সাহটি সরিয়ে ফেলতে পারেন যা এই শর্তটির পরীক্ষা করে (মন্তব্যটি দিয়ে শুরু হওয়া দৃ :় বক্তব্য: "URL টি পূর্ব-সংযুক্ত নয়" ) এটি গতিবেগ করবে কিছুটা রেগেক্স আপ।
- প্রতিস্থাপন স্ট্রিং অনুসারে পরিবর্তন করা যেতে পারে। উপরে দেওয়া কেবল এক জেনেরিক একটি লিঙ্ক তৈরি করে
"http://www.youtube.com/watch?v=VIDEO_ID"
শৈলী URL এবং লিঙ্কটি টেক্সট সেট করে: "YouTube link: VIDEO_ID"
।
সম্পাদনা 2011-07-05: যোগ করা হয়েছে -
আইডি গৃহস্থালির কাজ ক্লাসে হাইফেন
2011-07-17 সম্পাদনা করুন: ইউটিউব আইডি অনুসরণ করে URL এর অবশিষ্ট অংশ (যেমন ক্যোয়ারী ) গ্রাস করার জন্য স্থির রেজেক্স to যোগ করা হয়েছে 'i'
উপেক্ষা-কেস পরিবর্তক। উট কেসে ফাংশনটির নতুন নামকরণ করা হয়েছে। উন্নত প্রাক-লিঙ্কযুক্ত লুক হেড পরীক্ষা।
2011-07-27 সম্পাদনা করুন: ইউটিউব ইউআরএলগুলির নতুন "ব্যবহারকারী" এবং "ytscreeningroom" ফর্ম্যাট যুক্ত করা হয়েছে।
2011-08-02 সম্পাদনা করুন: ইউটিউব ইউআরএল নতুন "যে কোনও / জিনিস / যায়" পরিচালনা করতে সরলীকৃত / সাধারণীকরণ।
2011-08-25 সম্পাদনা করুন: বেশ কয়েকটি পরিবর্তন:
linkifyYouTubeURLs()
ফাংশনের জাভাস্ক্রিপ্ট সংস্করণ যুক্ত করা হয়েছে ।
- পূর্ববর্তী সংস্করণে স্কিম (এইচটিটিপি প্রোটোকল) অংশটি alচ্ছিক ছিল এবং সুতরাং এটি অবৈধ ইউআরএলগুলির সাথে মেলে। প্রয়োজনীয় স্কিম অংশ তৈরি।
- পূর্ববর্তী সংস্করণটি
\b
VIDEO_ID এর চারদিকে সীমানা অ্যাঙ্গর শব্দটি ব্যবহার করেছিল । তবে, VIDEO_ID -
ড্যাশ দিয়ে শুরু বা শেষ হয়ে গেলে এটি কাজ করবে না । স্থির করে নিন যাতে এটি এই শর্তটি পরিচালনা করে।
- VIDEO_ID এক্সপ্রেশনটি এমনভাবে পরিবর্তন করেছে যাতে এটি অবশ্যই 11 টি অক্ষরের দীর্ঘ হবে।
- পূর্ববর্তী সংস্করণটি পূর্ব-লিঙ্কযুক্ত URL গুলি বাদ দিতে ব্যর্থ হয়েছে যদি তাদের VIDEO_ID অনুসরণ করে কোয়েরি স্ট্রিং থাকে। এটি ঠিক করার জন্য negativeণাত্মক দৃষ্টিভঙ্গি দৃser়তা উন্নতি করেছে।
- যোগ করা হয়েছে
+
এবং %
ক্যোয়ারী অক্ষরের সাথে শ্রেণীর মিল রয়েছে।
- পরিবর্তিত পিএইচপি সংস্করণ Regex বিভেদক থেকে:
%
একটি হবে: ~
।
- কিছু সহজ নোট সহ একটি "নোট" বিভাগ যুক্ত করা হয়েছে।
2011-10-12 সম্পাদনা করুন: ইউটিউব ইউআরএল হোস্ট অংশে এখন কোনও সাবডোমেন থাকতে পারে (কেবল নয় www.
)।
2012-05-01 সম্পাদনা করুন: গ্রাহক ইউআরএল বিভাগটি এখন '-' এর জন্য মঞ্জুরি দিতে পারে।
2013-08-23 সম্পাদনা করুন: @ মাই দ্বারা সরবরাহিত অতিরিক্ত ফরম্যাট যুক্ত হয়েছে। (ক্যোয়ারী অংশে একটি .
বিন্দু থাকতে পারে ।
সম্পাদনা 2013-11-30: যোগ করা হয়েছে অতিরিক্ত @CRONUS দ্বারা উপলব্ধ বিন্যাস: youtube-nocookie.com
।
2016-01-25 সম্পাদনা করুন: ক্রোনাস দ্বারা সরবরাহ করা ত্রুটি কেস পরিচালনা করতে স্থির রেজেক্স।