我的代码工作正常,但不知何故,Yourls只获得了网站标题的第一个字。在第一个单词的空格之后它不会转发任何内容。
守则
$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.'');
如果标题是“我的第一台电脑”而不是“我的”设置为标题。它会导致我的代码还是Yourls?
答案 0 :(得分: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);