0

我的代码运行良好,但不知何故 Yourls 只获得了网站标题的第一个字。它不会在第一个 Word 的空格之后转发任何内容。

编码

$Artikel    =   $smarty->get_template_vars('Artikel');
$keyword    =   $Artikel->cArtNr;
$title      =   $Artikel->cName;
$short = file_get_contents(''.$siteurl.'/yourls-api.php?signature='.$signature.'&action=shorturl&url='.$shorturl.'&format='.$format.'&keyword='.$keyword.'&title='.$title.'');

如果标题是“我的第一台计算机” ,则只有“我的”被设置为标题。是因为我的代码还是你的?

4

1 回答 1

2

该问题可能与 URL 字符编码有关。您没有对 中的空间进行编码$title,从而使 URI 无效。

您可以使用urlencode对查询字符串参数执行此操作,但重构代码以使用它可能更容易更好http_build_query

$query = http_build_query(array(
    'signature' => $signature,
    'action' => 'shorturl',
    'url' = $shorturl,
    'format' => $format,
    'keyword' => $keyword,
    'title' => $title
));
file_get_contents($siteurl . '/yourls-api.php?' . $query);
于 2014-12-30T00:44:26.547 回答