我在自定义域名中使用了一个缩短的缩写词。它输出http://shrt.dmn/abc123
;但是,我希望它只输出shrt.dmn/abc123
。
这是我的代码。
//automatically create bit.ly url for wordpress widgets
function bitly()
{
//login information
$url = get_permalink(); //for wordpress permalink
$login = 'UserName'; //your bit.ly login
$apikey = 'API_KEY'; //add your bit.ly APIkey
$format = 'json'; //choose between json or xml
$version = '2.0.1';
//generate the URL
$bitly = 'http://api.bit.ly/shorten?version='.$version.'&longUrl='.urlencode($url).'&login='.$login.'&apiKey='.$apikey.'&format='.$format;
//fetch url
$response = file_get_contents($bitly);
//for json formating
if(strtolower($format) == 'json')
{
$json = @json_decode($response,true);
echo $json['results'][$url]['shortUrl'];
}
else //for xml formatting
{
$xml = simplexml_load_string($response);
echo 'http://bit.ly/'.$xml->results->nodeKeyVal->hash;
}
}
答案 0 :(得分:5)
只要它应该是url并且如果有http://
- 那么这个解决方案是最简单的:
$url = str_replace('http://', '', $url);
答案 1 :(得分:3)
更改以下行:
echo $json['results'][$url]['shortUrl'];
这个:
echo substr( $json['results'][$url]['shortUrl'], 7);
答案 2 :(得分:-1)
你想做一个preg_replace。
$variable = preg_replace( '/http:\/\//', '', $variable ); (this is untested, so you might also need to escape the : character ).
使用$ variable = str_replace('http://','',$ variable)也可以达到同样的效果