Cara Membuat Sistem Hashtag dan Mention di PHP dengan regex

hashtag

Untuk mengubah teks tagar menjadi link, bisa menggunakan preg_replace:

  1. function hashtagtolink($str) { 
  2.     return preg_replace('/(?<![&;])#([-\w]+)/', 
  3.                         '<a href="/tag/$1">#$1</a>', $str); 
  4. } 

Keterangan:
* Pola setelah # adalah ([-\w]+) atau sama dengan ([-A-Za-z0-9_]+).
Jika ingin membatasi panjang tagar, bisa ubah + menjadi misal {1,20}. Jika melebihi 20 karakter, hanya 20 karakter pertama yang akan diubah menjadi link.
* Pola sebelum # adalah (?<![&;]).
?<! adalah negative lookbehind, diikuti dengan & (ampersand) dan ; (semicolon).
Menggunakan karakter & dan ; agar string dengan character reference di HTML seperti &#039; &amp;#039 tidak akan ikut diubah menjadi link tagar.

Untuk membuat teks mention menjadi link, tinggal ubah # menjadi @ dan sesuaikan link.
#PHP#regex ###PHP #regex

Baca juga: Cara Membuat Sistem Hashtag dan Mention di PHP tanpa regex