Brauchen wir eine Programmierer Ecke?
Zitat von "bazillus" post=3154
Die regulären Ausdrücke müssten deine function eigentlich auch erheblich kürzer machen...
ca50% von meinem Code ist
um anzufragen ob eine "Größe" angegeben wurde ... nur "x" dann muß "y" noch berechnet werden
dann ist da eine "if" Zeile die abfragt ob ein "Start" gesetzt werden soll
dann ist da eine "if" Zeile die abfragt ob ein "float" gesetzt werden soll
Zitat von "bazillus" post=3154
Kann man so direkt testen und funktioniert :freu:
hab ich getan
und wie bekannt, hab ich einen alten Brouwser ....
.... ich hab da einen grünen Kasten wo mir uT was erzählt von eingeschränkte Version ...
.... mit einem Link "normale Version anzeigen"
und dann entsteht
"*******http://youtube.com/watch?v=GbU0o_Us6sw&nofeather=True"
und dieses "nofeather" führt bei deinem PregDings quasie zum Absturz = funktioniert nicht
und was ist mit Chanellinks?
(da gabs doch mal nen Parameter?)
"*****http://youtube.com/watch?v=RAC_lti9y4U&channel=800xe" = dein Preg funktioniert nicht
und was ist mit Chanellinks?
"*****http://youtube.com/user/800xe#p/u/11/GbU0o_Us6sw" aus Uploads
"*****http://youtube.com/user/800xe#p/f/11/GbU0o_Us6sw" aus Fovoriten
.... da funktioniert dein Preg nicht
Du must also von deinen Usern verlangen ....
... nur URLs aus den "Normalen" uT zu nutzen
keine URLs aus Channels oder mit Anderen ZusatzParas auser diesem "&feature"
Wie funktioniert das bei dir?
Da ist ein uT-icon
da kligt man drauf, geht ne Dialogbox auf und fragt nach der URL?
hab mir mal schnell StringBefehle zusammengeschustert
es wird geprüft ob es eine "normale" URL mit $_GET['v'] ist
wenn nein, wird geprüft ob es eine Channel URL "upload" oder "favoriten" ist
bei einer PlayListURL würde es nochmal etwas aufwendiger werden
$uT='https://beispiel.rocks/beispiel.rocks/www.youtube.com/watch?v=GbU0o_Us6sw&nofeather=True';
$uT='https://beispiel.rocks/beispiel.rocks/www.youtube.com/watch?v=LyH7Yd_iqFA&feature=related';
$uT='https://beispiel.rocks/beispiel.rocks/www.youtube.com/user/krfop#p/u/41/Zej-mbR4ASc';
$uT='https://beispiel.rocks/beispiel.rocks/www.youtube.com/watch?v=RAC_lti9y4U&channel=800xe';
$uT='https://beispiel.rocks/beispiel.rocks/www.youtube.com/watch?channel=800xe&v=RAC_lti9y4U&';
$uT='https://beispiel.rocks/beispiel.rocks/www.youtube.com/user/800xe#p/u/11/GbU0o_Us6sw';
$uT='https://beispiel.rocks/beispiel.rocks/www.youtube.com/user/800xe#p/f/29/KNnX6XRQBec';
$uT = str_replace('&','&',$uT);
$uT = str_replace('?','&',$uT);
if ( $tok=strstr($uT,'&v=') )
{
$uTid = strtok(substr($tok, 3),'&');
}
else
{
$curl=''; // Channel URL
if ( $tok=strstr($uT,'#p/u/') ) $curl=$tok;
if ( $tok=strstr($uT,'#p/f/') ) $curl=$tok;
if ( $curl )
{
$toks = explode('/',$curl);
$uTid = $toks[3];
}
}
echo( $uT.'<hr> [uT|'.$uTid.'|||||||]' );
Alles anzeigen
ich mag das ganze PregMetch Zeugs nicht .... weil ich NULL-Durchblick dort habe
muß dieses "&feature=" bei dir drin sein oder könntest es auch raus nehmen ...
... ne, dann würde ja "&channel=" oder "&nofeature=" keine Probleme erzeugen?
und dein PregMetch muß ja bei Jedem View gemacht werden
bei mir ist es nur ein simpler explode + 2 oder 3 "if", da ich ja beim Post dann die id extrahiere und nicht erst beim View
OK, da gehts nur um Millesekunden ....
... aber .... träum .... bei 100.000 Usern ergeben das dann doch schonwieder CPU-Tage