jQuery 온라인 t.cn 시나 웨이보 단축 URL 생성 단일 페이지 도구
6,674 0
최근 Ajax 기술을 공부하고 있어서 작은 Demo를 자주 작성하고 있습니다. 예를 들면 지난번에 작성한 「jQuery 온라인으로 QQ 이름과 아바타 가져오기」가 있습니다. 오늘 소개할 것도 Ajax 프로젝트로, 주요 기능은 온라인에서 t.cn의 시나 웨이보 단축 URL을 생성하는 것입니다. 인터넷에서 여러 URL 단축 서비스를 살펴보았는데, 모두 URL을 입력한 다음 버튼을 클릭해야 실행되더군요. 제가 만든 것은 그럴 필요가 없습니다.
HTML 코드
HTML HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>在线生成 t.cn 短网址</title>
<script src="https://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script>
</head>
<body>
<div> 长链接 <input type="text" name="" id="longurl" value="" /></div><br>
<div> 短链接 <input type="text" name="" id="shorturl" value="" /></div><br>
<script>
$("#longurl").blur(function() {
var url = $("#longurl").val();
$.ajax({
type: "get",
url: "https://v1.ikxin.com/api/tcnurl.php?from=txt&url=" + url,
success: function(data) {
$("#shorturl").val(data);
},
error: function() {
$("#shorturl").val("获取失败");
}
});
})
</script>
</body>
</html>
PHP 코드
PHP PHP
<?php
$apiurl = 'http://api.t.sina.com.cn/short_url/shorten.json'; // 新浪短网址 json 接口
$source = '3271710248'; // 新浪 source 验证码
$geturl = $_GET ['url'];
$format = $_GET ['format'];
switch ($format){
case "text":
if(substr($geturl, 0, 4) != 'http'){
echo "您的输入有误!";
}else{
$suo_url = sprintf($apiurl.'?source='.$source.'&url_long='.$geturl);
$dwzcode = file_get_contents($suo_url);
$dwz = str_replace(array('[',']'), '', $dwzcode);
$dwzurl = json_decode($dwz,true);
echo $dwzurl['url_short'];
}
break;
case "json":
if(substr($geturl, 0, 4) != 'http'){
echo "您的输入有误!";
}else{
$suo_url = sprintf($apiurl.'?source='.$source.'&url_long='.$geturl);
$dwzcode = file_get_contents($suo_url);
$oldarr = array('[',']','url_short','url_long',',"type":0');
$newarr = array('','','shorturl','longurl','');
$dwz = str_replace($oldarr, $newarr, $dwzcode);
echo $dwz;
}
break;
case "jsonp":
if(substr($geturl, 0, 4) != 'http'){
echo "您的输入有误!";
}else{
$suo_url = sprintf($apiurl.'?source='.$source.'&url_long='.$geturl);
$dwzcode = file_get_contents($suo_url);
$oldarr = array('[',']','url_short','url_long',',"type":0','{','}');
$newarr = array('','','shorturl','longurl','','callbackUrl({','})');
$dwz = str_replace($oldarr, $newarr, $dwzcode);
echo $dwz;
}
break;
default:
echo "您的输入有误!";
}
댓글
(0)아직 댓글이 없습니다