Справка с функцией PHP (пробелы) - PullRequest
1 голос
/ 21 сентября 2011

Я пытаюсь использовать PHP, чтобы обрезать URL YouTube до идентификатора видео.Это работает, но также добавляет много пустого места к результату.Кто-нибудь знает, как я смогу это исправить?Вот настройки:

Находится в Wordpress single.php (находит прикрепленный URL YouTube из мета поста):

<?php   
$vidurl = get_post_meta($post->ID, "_videoembed", true );
$youtube_id = getYouTubeIdFromURL($vidurl);
echo $youtube_id;          
?>

Вот что выполняет функция:

//Get YT Video ID
function getYouTubeIdFromURL($url)
{
  $url_string = parse_url($url, PHP_URL_QUERY);
  parse_str($url_string, $args);
  return isset($args['v']) ? $args['v'] : false;
}

Как я уже сказал, функция работает нормально, но выдает кучу пробелов.Скажем, видео, включенное в мета: youtube.com/watch?v=1337&feature=player_embedded, оно вернется

"                1337    "

Я заранее благодарен за любую помощь!У меня были несколько действительно хороших людей, которые помогали мне на этом сайте.

1 Ответ

0 голосов
/ 21 сентября 2011

Вы уверены, что ваша функция get_post_meta не возвращает кучу пробелов вместе с ней? Можете ли вы сделать var_dump на $vidurl? Когда я запускаю функцию, которую вы дали, вывод выглядит просто отлично (http://www.ideone.com/LRoTd):

<?php
    function getYouTubeIdFromURL($url)
    {
        $url_string = parse_url($url, PHP_URL_QUERY);
        parse_str($url_string, $args);
        return isset($args['v']) ? $args['v'] : false;
    }

    $theurl = "youtube.com/watch?v=1337&feature=player_embedded";
    $youtubeid = getYouTubeIdFromURL($theurl);
    echo "'$youtubeid'";
?>

Выход:

'1337'
...