Instagram 将主题标签替换为真实 link

Instagram replace hashtag with real link

我正在尝试用 href 和主题标签替换主题标签。我找到了解决方案 here,并根据我的需要对其进行了修改,但它忽略了点 . 之后的文本,并剪切了下一个字母:

我的函数:

function hashtag($str) {
    return preg_replace(array('/#(\w+)/', '/@(\w+)/'), array(' <a href="/t/" class="hashtag">#</a>', ' <a href="/u/" class="username">@</a>'), $str);
}

工作示例:

@visual => <a href="/t/visual" class="hashtag">#visual</a>

无效示例:

@visual.test => <a href="/t/visual" class="hashtag">#visual</a>.test

我怎样才能将 . 添加到模式中以使其正确工作并得到这个:

@visual.test => <a href="/t/visual.test" class="hashtag">#visual.test</a>

非常感谢。

你可以去

function hashtag($str) {
    return preg_replace(
            array('/#(\w+)/', '/@([\w.]+)/'),
            #                     --^-- 
            array(' <a href="/t/" class="hashtag">#</a>', ' <a href="/u/" class="username">@</a>'), 
            $str);
}

放在一个字符class里就可以了,也就是