,이 읽기 때문에 : http://www.digitalbart.com/jquery-and-urlencode/JQuery와, 아약스와 나는 아무것도에 전달 된 URL을에 encodeURI 것을 알고 앰퍼샌드 수수께끼
내가 듣고 있어요 현재 트랙의 현재 시간을 공유하고자합니다. 그래서 우수한 절단기를 설치했습니다. 나는 모든 사람이 내 개인 키를보고 싶어하지 않기 때문에 967
, 나는 약간의 PHP 파일이 = 트랙 = 2 & 시간 : 그리고 함께 모든 비트를두고 코드의 비트, 다음을 수 이는 입력을 받아, 다음을 추가, 그래서 다음과 같습니다 그래서 메인 페이지에, 나는 $("div.shorturl").load(loadall);
그 다음 않는 CURL의 조금 후 축약 반환 좋은 짧은 URL. 이처럼
:
$myurl='http://myshorten.example/yourls-api.php?signature=x&action=shorturl&format=simple&url=' . $theurl;
$ch = curl_init($myurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
if ($data === false) {
echo 'cURL failed';
exit;
}
echo $data;
모두 완벽한.
제외 ... 단축 URL은 항상 http://urltoshorten?track=2 형식입니다. 앰퍼샌드 길이를 줄인 뒤에는 아무 것도 표시되지 않습니다.
나는 php의 URLencode에서 전체 URL을 감싸려고했지만, encodeURI와 encodeURIComponent 둘 다에 트랙 = 2 & time = 967을 래핑했습니다. evem은 하나 또는 둘 다에서 모든 것을 래핑하려고 시도했습니다. 그리고 제출 된 URL이 track = 1 % 26time % 3D5 인 것처럼 보일지라도, &은 여전히 깨져 있습니다.
인코딩되지 않은 URL이있는 "일반"버전을 youurls 인터페이스에 붙여 넣거나 브라우저의 위치 표시 줄에 붙여 넣은 일반 URL로 api를 통해 URL을 제출하면 다시 작동합니다 아주.
URL이 잘못 인코딩 된 것 같지 않습니다. URL이 제대로 인코딩 된 것 같습니다. 내가 생각할 수있는 유일한 것은 아마도 CURL입니다.
지금이 시점에서 "&을 *로 바꾸고 다시 변환하지 않으시겠습니까?"라고 생각할 수도 있습니다. " URL이 확장 될 때 OK, 그래서, 나는 다음은 * 트랙에 위치에 찾는 약간을하고 아무것도의 나머지 부분을 가정
var track = $.getUrlVar('track');
var time = $.getUrlVar('time');
의 값은 그래서 시간 VAR을 잃을 수도 얻을 *가 시간이 지난 후에도 약간 못 생겼고 요점은 더 이상 일을하는 올바른 방법이 아닙니다.
누구든지 나를 도울 수 있으면 감사하겠습니다.
절대 별! 완벽하게 작동합니다. urlencode와 반대로 rawurlencode에 대해서도 알지 못했습니다. 실제로 그랬습니다. 천재 - 나는 행복한 사람, 많은 감사합니다. – talkingnews