我想添加一个语言参数。假设用户点击英语,他将只用英语发送推文。现在我默认使用en
,但我希望支持多种语言
function twitter_class()
{
$this->realNamePattern = '/\((.*?)\)/';
$this->searchURL = 'http://search.twitter.com/search.atom?lang=en&q=';
}
$ch= curl_init($this->searchURL . urlencode($q));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
我想从用户那里获得语言输入。
答案 0 :(得分:3)
您可以使searchURL
参数化字符串函数:
$this->searchURL = function($language, $query) {
$vars = array_map('urlencode', func_get_args() + array('', ''));
return vsprintf('http://search.twitter.com/search.atom?lang=%s&q=%s', $vars);
}
当您调用它时,请执行以下操作:
$ch = curl_init($this->searchURL($lang, $q));
希望这有用。
如果您没有PHP 5.3,只需将其写为标准类函数:
class twitter_class
{
...
function twitter_class()
{
$this->realNamePattern = '/\((.*?)\)/';
}
function searchURL($language, $query) {
$vars = array_map('urlencode', array($language, $query));
return vsprintf('http://search.twitter.com/search.atom?lang=%s&q=%s', $vars);
}
...
$ch = curl_init($this->searchURL($lang, $q));
...
}
答案 1 :(得分:0)
function twitter_class($lang="en")
{
$this->realNamePattern = '/\((.*?)\)/';
$this->searchURL = 'http://search.twitter.com/search.atom?lang='.$lang.'&q=';
}