1

カスタム ドメインに bit.ly 短縮サービスを使用しています。出力します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;
  }
}
4

3 に答える 3

5

URL であることが想定されている限り、存在する場合はhttp://、この解決策が最も簡単です。

$url = str_replace('http://', '', $url);
于 2012-09-13T22:42:56.693 に答える
3

次の行を変更します。

 echo $json['results'][$url]['shortUrl'];

これについて:

 echo substr( $json['results'][$url]['shortUrl'], 7);
于 2012-09-13T22:43:38.957 に答える
-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 ) でも同じ効果が得られます

于 2012-09-13T22:43:52.853 に答える