2017-11-06 17 views
1

ハッシュタグをhrefとハッシュタグに置き換えようとしています。私は解決策hereを見つけ、そして私のニーズのためにそれを変更したが、それは、ドット.後にテキストを無視され、次の文字をカット:Instagramはハッシュタグを実際のリンクに置き換えます

My機能:

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> 

おかげで多くのことを。あなただけの文字クラスに入れて

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); 
} 

のために行くことができ

+1

正規表現では、 '\ w'を' [\ w。] 'に変更してください。 – ctwheels

+0

上記の変更については、Janの答えをご覧ください。 – ctwheels

+0

はい、これです:) – Legionar

答えて

2

、それはです。

+0

働いています。どうもありがとう。 – Legionar

+0

はい、私はタイムアウトまで待っていました。 – Legionar

関連する問題