$url = "http://www.youtube.com/e/fIL7Nnlw1LI&feature=related";
$ampPos = strpos($var, '&');
if ($ampPos !== false)
{
$url = substr($url, 0, $ampPos);
}
Не используйте разнесение, регулярные выражения или любой другой жадный алгоритм, это пустая трата ресурсов.
РЕДАКТИРОВАТЬ (добавлена информация о производительности):
В документации preg_match: http://www.php.net/manual/en/function.preg-match.php
Протестировано взорвалось со следующим кодом:
$url = "http://www.youtube.com/e/fIL7Nnlw1LI&feature=related&bla=foo&test=bar";
$time1 = microtime(true);
for ($i = 0; $i < 1000000; $i++)
{
explode("&", $url);
$url = $url[0];
}
$time2 = microtime(true);
echo ($time2 - $time1) . "\n";
$time1 = microtime(true);
for ($i = 0; $i < 1000000; $i++)
{
$ampPos = strpos($url, "&");
if ($ampPos !== false)
$url = substr($url, 0, $ampPos);
}
$time2 = microtime(true);
echo ($time2 - $time1) . "\n";
Дал следующий результат:
2.47602891922
2.0289251804352