TwitterのつぶやきにあるURLにリンクをはりたいときはpreg_replace関数と正規表現を使いましょう

Twitter_logo_blue

前回、Twitter RESTAPI1.1のGET search/tweetsからつぶやきを引っ張ってきたときに、URLがあった場合、どのようにリンクをつけるのかが分かりませんでした。

  • https://t.co/○○○○○○○

今回は、そのリンクをつける方法が分かったので、そのコードを紹介しましょう。

目次

preg_replace関数と正規表現でURLを自動リンク

GET search/tweetsから引用したテキストの中にある、URLを正規表現にして、preg_replace関数を用いて、Twitterの検索画面に遷移させます。

[php]
$tweet[‘text’]=preg_replace("/(http:\/\/t.co\/[a-zA-Z0-9]{10})/", "<a href=\"\\0\" target=\"_blank\">\\0</a>", $tweet[‘text’]);
[/php]

前回とちがうところは、preg_replaceの第2引数です。

[php]
"<a href=\"<?php echo $tweet\[‘user’][‘url’]; ?>\\1\</a>"
[/php]

のところを、

[php]
"<a href=\"\\0\" target=\"_blank\">\\0</a>"
[/php]

に変更しています。

@、#、URLにリンクをはりたいときのコード

前回の記事と合わせて、@(スクリーンネーム)、#(ハッシュタグ)、URLにリンクをつけるためのコードは、以下の通りとなります。

[php]
<?php
$tweet[‘text’]=preg_replace("/\s#(w*[一-龠_ぁ-ん_ァ-ヴーa-zA-Za-zA-Z0-9]+|[a-zA-Z0-9_]+|[a-zA-Z0-9_]w*)/u", " <a href=\"https://twitter.com/search/%23\\1\" target=\"twitter\">#\\1</a>", $tweet[‘text’]);
$tweet[‘text’]=preg_replace("/(@[A-Za-z0-9_]{1,15})/", " <a href=\"https://twitter.com/search/\\1\" target=\"twitter\">\\1</a>", $tweet[‘text’]);
$tweet[‘text’]=preg_replace("/(http:\/\/t.co\/[a-zA-Z0-9]{10})/", "<a href=\"\\0\" target=\"_blank\">\\0</a>", $tweet[‘text’]);
?>
[/php]

〔参考サイト〕

Twitter_logo_blue

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次