代码之家  ›  专栏  ›  技术社区  ›  CLiown

将Twitter哈希标签转换为链接,并链接到可单击的链接

php
  •  1
  • CLiown  · 技术社区  · 14 年前

    我用php创建了一个twitter结果列表,我已经用php把字符串中的文本链接转换成可点击的链接,而不是纯文本。

    在一些twitter结果中,字符串包含散列标签,只需在文本前面加上字符。

    我想做的是把这个hastag转换成一个可点击的链接。

    例如:

    Hello my name is Dan, and im working with the #twitter api
    

    我想变成:

    Hello my name is Dan, and im working with the <a href="http://search.twitter.com/search?q=%23twitter">#twitter</a> api
    

    注意,在URL中,我必须将更改为%23-我认为是编码或解码。

    也。。。。

    我已经使用下面的代码在字符串中创建了可单击的链接,是否可以合并这两个regex?

    下面是我的PHP,用于将链接转换为可单击链接:

                //Convert links in string to links
                preg_match('/(http:\/\/[^\s]+)/', $row["content"], $text);
                $hypertext = "<a target='_blank' href=\"". $text[0] . "\">" . $text[0] . "</a>";
                $newString = preg_replace('/(http:\/\/[^\s]+)/', $hypertext, $row["content"]);
    
    1 回复  |  直到 14 年前
        1
  •  10
  •   Tim Cooper    14 年前
    $str = preg_replace('/\#([a-z0-9]+)/i', '<a href="http://search.twitter.com/search?q=%23$1">#$1</a>', $str);
    

    编辑

    就这两种不同的模式而言,只要做到:

    $str = preg_replace(array($url_pattern, $hash_pattern), array($url_replacement, $hash_replacement), $str);