WordPress: sviluppo di temi: estrarre l'id dei video di YouTube dagli URL

Se state pianificando lo sviluppo di un tema di WordPress e volete permettere agli utenti di aggiungere i loro video di YouTube nei post o nelle pagine, sicuramente vi servirà un modo per estrarre l'ID dei video partendo dall'URL. Vediamo come fare.

La seguente funzione di utility prende in considerazione le varie tipologie di URL di YouTube:


function get_video_id( $url ) {
		if( preg_match( '/http:\/\/youtu.be/', $url, $matches) ) {
			$url = parse_url($url, PHP_URL_PATH);
			$url = str_replace( '/', '',  $url);
			return $url;
	
		} else if ( preg_match( '/watch/', $url, $matches) ) {
			$arr = parse_url($url);
			$url = str_replace( 'v=', '', $arr['query'] );
			return $url;
		
		} else if ( preg_match( '/http:\/\/www.youtube.com\/v/', $url, $matches) ) {
			$arr = parse_url($url);
			$url = str_replace( '/v/', '', $arr['path'] );
			return $url;
	
		} elseif ( preg_match( '/http:\/\/www.youtube.com\/embed/', $url, $matches) ) {
			$arr = parse_url($url);
			$url = str_replace( '/embed/', '', $arr['path'] );
			return $url;
			
		} else if ( preg_match("#(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=[0-9]/)[^&\n]+|(?<=v=)[^&\n]+#", $url, $matches) ) {
			return $matches[0];
			
		} else {
			return false;
		}
}

Una volta estratto l'ID dall'URL potete utilizzarlo ad esempio con le API di YouTube.

Torna su