@samsunikinciel;, @kingofseo;

Diyelim ki ben "asdfh" yazdıktan sonra "http://youtu.be/zxlVvaIEhy0" bu linki ekledim. $_POST["link"] parametresine "asdfh http://youtu.be/zxlVvaIEhy0" değeri gidecek ve hatalı işlem yapılmış olucak? O yüzden şöyle bi' yapı kullanırsanız hem daha kullanışlı olur hemde olası hataların önüne geçmiş olursunuz.

<?php
	
	$post_val = "asdfg http://www.youtube.com/watch?v=zxlVvaIEhy0"; # $post_val = $_POST["link"]; olarak değiştirirsiniz.
	
	function find_youtube_url($val) {
		$embed = "<iframe width=\"640\" height=\"360\" src=\"http://www.youtube.com/embed/%s\" frameborder=\"0\" allowfullscreen></iframe>";
		
		$val_parts = explode(" ", $val);
		
		$parse_last_part = parse_url(end($val_parts));
		
		if(!array_key_exists("host", $parse_last_part))
			return false;
		
		switch($parse_last_part["host"]) {
			case "youtu.be": {
				return sprintf($embed, $parse_last_part["path"]);
			} break;
			case ("www.youtube.com" || "youtube.com"): {
				$query = array();
				$_query = explode("&", $parse_last_part["query"]);
				
				foreach($_query as $key => $value) {
					$parts = explode("=", $_query[$key]);
					
					$query[$parts[0]] = $parts[1];
				}
				
				return (array_key_exists("v", $query)) ? sprintf($embed, $query["v"]) : false;
			} break;
			default: {
				return false;
			}
		}
	}
	
	print_r(find_youtube_url($post_val));