#\[youtube\:[0-9a-z]+\]([\-0-9_A-Za-z]+)\[/youtube\:[0-9a-z]+\]#
ใช้ regular expression ประมาณนี้ครับ
ที่เป็นสีดำคือ หาสิ่งนั้นตรงๆ เลย
ส่วนสีน้ำเงิน คือ หาตัวอักษร 0-9 และ a-z กี่ตัวก็ได้
และสีแดงคือ หา -, 0-9, _, A-Z และ a-z (รูปแบบของ Base64 for URL) และ “จับ” มันเข้ามาอยู่ใน array ที่ $matches (เพราะล้อมด้วยวงเล็บ)
preg_match( '#\[youtube\:[0-9a-z]+\]([\-0-9_A-Za-z]+)\[/youtube\]#', 'This is a cool video [youtube:27oo92ho]tkb-RVM1dLs[/youtube:27oo92ho] !!!', $matches ); print_r($matches); // $matches[0] = [youtube:27oo92ho]tkb-RVM1dLs[/youtube:27oo92ho] // $matches[1] = tkb-RVM1dLs