YOUTUBE - LINK PARSER

Ważne wartości

								
ini_set("max_execution_time", 99999999); /* do pobierania duzej ilosci tytułów */
/* Połączenie z bazą*/
$connection = mysqli_connect ('localhost','my_user', 'my_password', 'my_db');
if (mysqli_connect_errno ( $connection )) {
	echo "Brak połączenia z serwerem MySQL";
}
mysqli_query ( $connection,"SET CHARACTER SET 'utf8");
								
							

Parser linkow z podanego pliku dodajacy je do bazy

												
function link_parser($connection){
	$content = file_get_contents('plik.html');
	$regex='~https?://(?:[0-9A-Z-]+\.)?(?:youtu\.be/|youtube(?:-nocookie)?\.com\S*[^\w\s-])([\w-]{11})(?=[^\w-]|$)(?![?=&+%\w.-]*(?:[\'"][^<>]*>|</a>))[?=&+%\w.-]*~ix';
	preg_match_all($regex, $content, $id);
	for ($i=0;$i<count( $id[1]);$i++) {
		$li = $id[1][$i];
		$wynik = mysqli_query ( $connection, "INSERT INTO yt (link) VALUES ('$li');" ) or die ( 'Błąd zapytania' );
	}
}
								
							

Pobieranie tytulu strony dla podanego adresu url

								
function page_title($url) {
    $fp = file_get_contents($url);
    if (!$fp) 
        return null;
    $res = preg_match("/<title>(.*)<\/title>/siU", $fp, $title_matches);
    if (!$res) 
        return null; 
    $title = preg_replace('/\s+/', ' ', $title_matches[1]);
    $title = trim($title);
		return $title;
    }
								
							

Ustawienie tytulu w bazie dla kazdego linku

							
function set_title($connection){
	$wynik = mysqli_query ( $connection, 'SELECT * FROM yt  ; ' ) or die ( 'Błąd zapytania' );
	if (mysqli_num_rows ( $wynik ) > 0) {
		while ( $r = mysqli_fetch_assoc ( $wynik ) ) {	
			$a= ($r ['link']);
			$b = page_title("https://www.youtube.com/watch?v=".$a);
			$wynik2 = mysqli_query ( $connection, "UPDATE yt SET title='$b' WHERE link='$a';") or die ( 'Błąd zapytania2' );	
		}
	}
}
								
							

Wyswietlenie wszystkich linkow z bazy wedlug tytulu

										
function print_link($connection){	
	$wynik3 = mysqli_query ( $connection, 'SELECT * FROM yt ORDER BY title' ) or die ( 'Błąd zapytania' );	
	if (mysqli_num_rows ( $wynik3 ) > 0) {
		$i = 1;
		while ( $r = mysqli_fetch_assoc ( $wynik3 ) ) {	
			echo $i.". <a target='_blank' href='https://www.youtube.com/watch?v=".$r ['link']. "'>".$r ['title']."
"; $i++; } } }