【PHP 正規表現で置換】Instagram API 「改行くん」を使った投稿文を取得したときに改行表示させる

プログラミング

こんにちは、チッタです。

ウェブサイトにアクセスするたびにインスタグラムの最新投稿を埋め込み表示させたかったので Instagram APIを使うことにしました。

この記事では、Instagram APIで投稿文をウェブサイトに表示すると、改行なしで表示される現象を正規表現を使って改行表示に変える方法について書きます。

これは、インスタグラムの投稿文に「改行くん」アプリを使用している場合で、かつPHPを使って投稿情報を取得している場合での話となります。

インスタグラムでの表示を確認する

「改行くん」を使って以下のような文章をインスタグラムへ投稿しました。

『こんにちは(^^)

最近のブームは、火曜日の19時にイオンへ行くことです。

お肉の半額セールをやっていて、半額シールが貼ってあるお肉を見ると嬉しくなります。

とくに大好きなハンバーグが安くなっているのを見ると心でガッツポーズをしています。』

instagram-app

インスタグラムアプリ内

改行して表示されています。

Instagram APIの「CAPTION->TEXT」をそのまま表示してみる

アクセストークンがなんちゃら…の難しいところはすっ飛ばして、「CAPTION->TEXT」をそのまま表示してみます。

caption-text

ウェブサイトに出力

ガーン、改行されていません(-_-)

クロームブラウザの右クリックで検証してみます。

validation

validation-code

ありました!(>_<)

「&#65279」という文字?数字?よくわからないので羅列とします。

この羅列が改行のコードとして入ってはいるものの、ブラウザで表示すると何も認識されないようです。

正規表現で置換する

「&#65279」を「<br>」に置換します。

preg_replace

やったー!改行されています(^o^)/

再度クロームブラウザの右クリックで検証してみます。

preg_replace_validation

ちゃんと<br>が入っています!

ちなみにわたくし正規表現がとても苦手で、こちらのサイトを参考にさせていただきました(^_^;

プログラマの道は続きます。




Instagramアカウント▶畑山明子


【お知らせ】

トマト会でゆるく繋がりませんか?
「トマト会の仲間を募集しています!」をご覧ください。