Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带PHP函数的帮助(空白)_Php_Function_Wordpress_Wordpress Theming - Fatal编程技术网

带PHP函数的帮助(空白)

带PHP函数的帮助(空白),php,function,wordpress,wordpress-theming,Php,Function,Wordpress,Wordpress Theming,我正在尝试使用PHP将YouTube URL裁剪为视频ID。这是可行的,但它也为结果添加了大量空白。有人知道我该怎么解决这个问题吗?以下是设置: 位于Wordpress single.php中(从post meta中查找附加的YouTube URL): 就像我说的,这个函数工作得很好,但是它会产生一堆空白。假设meta中包含的视频是youtube.com/watch?v=1337&feature=player\u embedded它将返回 " 1337 "

我正在尝试使用PHP将YouTube URL裁剪为视频ID。这是可行的,但它也为结果添加了大量空白。有人知道我该怎么解决这个问题吗?以下是设置:

位于Wordpress single.php中(从post meta中查找附加的YouTube URL):

就像我说的,这个函数工作得很好,但是它会产生一堆空白。假设meta中包含的视频是
youtube.com/watch?v=1337&feature=player\u embedded
它将返回

"                1337    "

我提前感谢所有的帮助!我以前在这个网站上有一些非常好的人帮过我。

你确定你的
get\u post\u meta
函数没有返回大量空格吗?您能在
$vidurl
上执行
var\u转储吗?当我运行您提供的函数时,输出看起来很好():


您的代码只返回一个我知道的数字,它应该返回视频ID(11个字符的字符串)。对于演示,我只使用了“1337”,但它只返回一个数字,没有空格。因此,它可以正常工作。如果检查正常,很可能是Wordpress函数导致了问题。我不想弄乱核心文件,因为我担心我会弄乱一些东西,并且每次更新后进度都会被否定。你知道我有什么办法可以删掉空白吗?我尝试了一个常规的修剪($youtubeid),但它似乎不起作用(注意,我可能做得不正确)
trim($youtubeid)
使用您在问题中粘贴的示例对我来说效果很好。也许你得到的不是真正的空格字符。。。?
//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;
}
"                1337    "
<?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'