YouTube Videos

  • Themenstarter Themenstarter McNiko
  • Beginndatum Beginndatum
PHP:
[''.$sqlRowMySQL->Link.'']

Das sieht nicht nur seltsam aus, es ist auch relativ unsinnig ;)

Der Fehler lag jedoch abermals an mir. Richtig in Verwendung mit [phpf]mysql_fetch_assoc[/phpf] wäre natürlich:
PHP:
<object width="425" height="344">
	<param name="movie" value="<?php echo $video['Link']; ?>"></param>
	<param name="allowFullScreen" value="true"></param>
	<embed src="'<?php echo $video['Link']; ?>'" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed>
</object>
Das aber bringt uns in eine missliche Lage, da die URL, so wie sie da angegeben ist, auf eine HTML-Ausgabe verweist, was keinem Flash-File entspricht. Dieses wird über eine etwas andere URL angesprochen (vergleich http://de.youtube.com/watch?v=vRGAj58nyrs und http://www.youtube.com/v/vRGAj58nyrs&hl=de).
Am einfachsten geht es mit [phpf]preg_replace[/phpf], solltest du aber zB nur von de.youtube.com aus verlinken, reicht auch [phpf]sscanf[/phpf].
Hierbei wäre es durchaus sinnvoll, wenn du ein wenig Eigeninitiative ergreifst um den Kontext zu verstehen, in welchem beide Funktionen benutzt werden (können).


PHP:
<?php
// while ( $video= mysql_fetch_assoc(...) ):
	$video['Link'] = preg_replace(
			'%http://(?:|[a-z]+\.)youtube\.com/watch\?v=([0-9a-zA-Z]+?)%Uis',
			'http://www.youtube.com/v/\1&hl=de',
			$video['Link']
		);
?>
<object width="425" height="344">
	<param name="movie" value="<?php echo $video['Link']; ?>"></param>
	<param name="allowFullScreen" value="true"></param>
	<embed src="'<?php echo $video['Link']; ?>'" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed>
</object>
<?php
// endwhile;
 
Zurück