PHP 将Twitter状态的链接转换为可点击的网址。加上@和#

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 将Twitter状态的链接转换为可点击的网址。加上@和#相关的知识,希望对你有一定的参考价值。

/**
*
* twitterStatusUrlConverter
*
* To convert links on a twitter status to a clickable url. Also convert @ to follow link, and # to search
*
* @author: Mardix - http://mardix.wordpress.com, http://www.givemebeats.net
* @date: March 16 2009
* @license: LGPL (I don't care, it's free lol)
*
* @param string : the status
* @param bool : true|false, allow target _blank
* @param int : to truncate a link to max length
* @return String
*
* */
function twitterStatusUrlConverter($status,$targetBlank=true,$linkMaxLen=250){
  
  // The target
  $target=$targetBlank ? " target=\"_blank\" " : "";

    // convert link to url
    $status = preg_replace("/((http:\/\/|https:\/\/)[^ )
]+)/e", "'<a href=\"$1\" title=\"$1\"  $target >'. ((strlen('$1')>=$linkMaxLen ? substr('$1',0,$linkMaxLen).'...':'$1')).'</a>'", $status);

    // convert @ to follow
    $status = preg_replace("/(@([_a-z0-9\-]+))/i","<a href=\"http://twitter.com/$2\" title=\"Follow $2\" $target >$1</a>",$status);

    // convert # to search
    $status = preg_replace("/(#([_a-z0-9\-]+))/i","<a href=\"http://search.twitter.com/search?q=%23$2\" title=\"Search $1\" $target >$1</a>",$status);

    // return the status
    return $status;
}

以上是关于PHP 将Twitter状态的链接转换为可点击的网址。加上@和#的主要内容,如果未能解决你的问题,请参考以下文章

PHP 自动将URL转换为可点击超链接(锚标记)的功能

PHP 将字符串转换为可点击的网址

如何将字符串中的 URL 呈现为可点击的超链接?

PHP 正则表达式使Twitter链接可点击

sencha / javascript - 如何从 tpl 模板中调用函数

将时间戳转换为可读的日期/时间 PHP