【问题标题】:Instagram replace hashtag with real linkInstagram 用真实链接替换标签
【发布时间】:2018-04-18 22:57:34
【问题描述】:

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

我的功能:

function hashtag($str) {
    return preg_replace(array('/#(\w+)/', '/@(\w+)/'), array(' <a href="/t/$1" class="hashtag">#$1</a>', ' <a href="/u/$1" class="username">@$1</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>

非常感谢。

【问题讨论】:

  • 在正则表达式中,将\w改为[\w.]
  • 请参阅下面 Jan 的回答,了解我上面提到的更改。
  • 是的,就是这样:)

标签: regex preg-replace instagram hashtag


【解决方案1】:

你可以去

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

把它放在一个字符类中就行了。

【讨论】:

  • 工作。非常感谢。
猜你喜欢
  • 2011-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-28
  • 2014-09-21
  • 2011-03-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多