$re = '/(http:|https:|)\/\/(player.|www.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com|be\-nocookie\.com))\/(video\/|embed\/|watch\?\S*v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/';
$str = 'http://www.youtube.com/watch?v=My2FRPA3Gf8
http://youtu.be/My2FRPA3Gf8
https://youtube.googleapis.com/v/My2FRPA3Gf8
http://www.youtube.com/embed/Ab25nviakcw
http://www.youtube-nocookie.com/v/Ab25nviakcw?version=3&hl=en_US
http://www.youtube.com/watch?feature=player_embedded&v=Ab25nviakcw#
http://vimeo.com/25451551
http://player.vimeo.com/video/25451551
//player.vimeo.com/video/25451551
';
$subst = "";
$result = preg_replace($re, $subst, $str);
echo "The result of the substitution is ".$result;
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php