twitterのつぶやきには、@で始まるユーザ表記やハッシュタグ、加えてリンクが混在していて、APIで取得してきたつぶやきに対してキレイにリンク処理を行うのはちょっと面倒だったりする。 単純な正規表現を繰り返してもダメなケースがある。例えば#を含むURLがあるとハッシュタグと間違ってしまったり・・・。 綺麗に処理する方法を思いついたので書いておく。 preg_replace_callbackを使えう 今回始めて知ったのですが、preg_replace_callbackを使えば正規表現にマッチした部分に更にプログラム的に処理を何重にも施すことができるのでやりたい放題になります。 class TwitReplace{ private static $instance = null; public static function getInstance(){ if (is_null(self::