String ersetzen für einen YouTube Link

lisali

Erfahrenes Mitglied
Hallo,

ich habe folgenden Code zum Ersetzen einer URL bzw. Formatierung eines User-Input-Strings.

PHP:
function emoticons($string) {
	
$string = str_replace("http://www.","www.",$string);
$string = str_replace("www.","http://www.",$string);
$string = preg_replace(
"/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/i","<a target='_blank' href=\"$1\">$1</a>", $string);
$string = preg_replace(
"/([\w-?&;#~=\.\/]+\@(\[?)[a-zA-Z0-9\-\.]+\.
([a-zA-Z]{2,3}|[0-9]{1,3})(\]?))/i","<a href=\"mailto:$1\">$1</a>",$string);

$string = str_replace("\n", "<br>", $string);
return strip_tags($string, '<p><a><br><br />');  
}

Das funktioniert auch gut. Jedoch möchte ich nun eine kleine Grafik anzeigen lassen, wenn ein YouTube-Link angegeben wurde, dass dann z.B. statt dem Link steht:

<span style='background:url(img/icon/youtube.png); display:block'></span> $youTubeUrl


Wie könnte ich das am Besten und sinnvollsten in Betracht meiner Funktion bzw. in Verbindung mit der Funktion realisieren?
 
Beispielsweise so:
PHP:
<?php  
$string = "http://www.youtube.com/watch?v=3Lq7QzLdkSc";  
$regex = "/http:\/\/www\.youtube\.com\/watch\?v=([[:alnum:]]+)/";  
preg_match_all ($regex, $string, $output);  
?>

PS: Wenn du deine regulären Ausdrücke ausprobieren willst, dann kannst du auch den RegEx-Tester nutzen.
 
Zurück