mam dziwny problem.
Napisałem funkcję do sprawdzania sprawdzania adresów z vimeo i youtube.
function is_video($url, $n = 0) { '#http://(\w+.)?vimeo.com/(\d+)$#i', #vimeo '#http://(\w+.)?youtube.com/watch\?v=(\w+)$#', #youtube ); { return true; #echo 'działa'; } else { { is_video($url, ++$n); } } return false; }
dlaczego tak się dzieje?
funkcja powinna zwrócić true, ale zwraca false... myślałem, że coś z regexami pochrzaniłem, ale nie... gdy w pierwszego IFa wstawie echo to wiadomość jest normalnie wyświetlana...
edit:
nie wiem, dlaczego napisałem to rekurencyjnie - zamienie na pętle i dam znać, czy działa.
edit 2:
ok, teraz działa
function is_video($url) { 'vimeo' => '#http://(\w+.)?vimeo.com/(\d+)$#i', 'youtube' => '#http://(\w+.)?youtube.com/watch\?v=(\w+)$#', ); foreach($patterns as $key => $value) { { return true; } } return false; }
Ale z ciekawości, mógłby ktoś wytłumaczyć, dlaczego rekurencyjnie nie działało?