如何用PHP得到缩短链接的原始链接

树大招风,bit.ly和j.mp还是被河蟹了。当然撇开这个原因,我们有时也是有想得到某个缩短链接的原始链接的要求。

其实用PHP中的get_headers()函数就能轻松地得到原始链接。

<?php
$url = 'http://bit.ly/1vFqAp';

$headers = get_headers($url, 1);

echo '<pre>';

print_r($headers);

echo '</pre>';

get_headers第二个参数如果不为0时,将会以关联下标数组输出,这时我们用$headers[‘Location’]就可以直接得到该缩短链接的原始链接了。(当为0时,输出的结果是数字下标数组,这时我们就不能方便地调用原始链接)输出的结果如下:

Array
(
    [0] => HTTP/1.1 301 Moved
    [Server] => Array
        (
            [0] => nginx/0.7.42
            [1] => Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635
        )

    [Date] => Array
        (
            [0] => Tue, 13 Oct 2009 07:38:38 GMT
            [1] => Tue, 13 Oct 2009 07:38:36 GMT
        )

    [Content-Type] => Array
        (
            [0] => text/html; charset=utf-8
            [1] => text/html; charset=UTF-8
        )

    [Connection] => Array
        (
            [0] => close
            [1] => close
        )

    [Location] => https://bingu.net/646/create-web-thumb-use-bluga-easythumb-api/
    [MIME-Version] => 1.0
    [Content-Length] => 324
    [1] => HTTP/1.1 200 OK
    [X-Powered-By] => PHP/5.2.9
    [X-Pingback] => https://bingu.net/xmlrpc.php
)

PHP的内置函数可做的事情很多,在谷歌中搜索“php删除字符串中的html”,可以得到一个别人编写的delete_htm()函数,而事实上PHP中的strip_tags()函数就能完成这个任务,完全不必自己另编一个函数。