Код (PHP): <? function postMessage($article, $access_token, $owner_id) { $message = 'hi'; $link = JURI::root()."index.php?option=com_content&view=article&id=".$article->id; $request = "https://api.vkontakte.ru/method/wall.post"; $params = array( 'owner_id' => $owner_id, 'message' => $message, 'link' => $link, 'access_token' => $access_token); $result = $this->callMethod($request, $params); return $result; } function callMethod($request, $params) { $c=curl_init(); curl_setopt($c, CURLOPT_URL, $request); curl_setopt($c, CURLOPT_RETURNTRANSFER, true); curl_setopt($c, CURLOPT_FOLLOWLOCATION, true); curl_setopt($c, CURLOPT_POST, true); curl_setopt($c, CURLOPT_POSTFIELDS, $params); curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 10); curl_setopt($c, CURLOPT_TIMEOUT, 30); $result=curl_exec($c); curl_close($c); return $result; } Не получается передать параметр link, так как он содержит спецсимволы ? и &. Как закодировать $link, что-бы передать?
а что в доках написано? я с этим никогда не работал, но могу предположить либо htmlentitites или url_encode
Да ничего я в доках не нашёл... Ни htmlentities, ни url_encode не помогают - я уже пробовал. Проблема в том что ?option, &view и &id из переменной $link воспринимаются как параметры curl.