ブログ記事への引用のために「サムネイル」と「はてなブックマーク数」がついたリンク生成プログラムをphpで書いてみた

この記事でやりたいことは、

 

二つの全く異なる人生を生きられる(くらい、働く時間は長くなる) - Chikirinの日記二つの全く異なる人生を生きられる(くらい、働く時間は長くなる) – Chikirinの日記二つの全く異なる人生を生きられる(くらい、働く時間は長くなる) - Chikirinの日記

 

のようなリンクを貼ることです。

 

個人的に、納得のいくものができたので、僕と同じ悩みを持っている人の助けになればと思い、コードを共有します!(ただし、サーバーにHTMLページをつくる最低限の知識は必要です)

 

WEBサーバーに、入力用のWEBページをつくる!

まずは、web上に入力画面をつくります。余分なものをかなり削ぎ落としたのが以下のHTMLコードになります。これをテキストファイルなどに入力し、「○○(半角英数字).html」という名前をつけてください。

 

[html]
<html>
<head>
<title>ページのタイトル(なんでもOK)</title>
</head>
<body>
<div align="center">
<p>はてなリンク生成プログラム</p>
<form action="thumb_hatena_link.php" method="post">
URL
<input type="text" name="url" onclick="this.select()">
<input type="submit" value="入力">
</form>
</body>
</html>
[/html]

 

この時点でつまずいてしまった人は、勉強不足です。ブログを書くのであれば、最低限のwebに関するコードの知識はあった方が有利です。

 

出来たファイルをアップロードし、表示してみると、次のような画面が出てくるはずです。

 

html画面

 

表示されましたでしょうか。文字化けしてしまったならば、文字コードを変換する必要があります。そこはそれぞれの環境によるので、頑張って解決してください!

 

これで入力フォームは完成です。が、もちろんこのままでは何にもできません。次に、リンクを生成するプログラムを用意します。

 

いよいよphpの出番

次は、phpです。「thumb_hatena_link.php」ファイルを作成してください。無論、webサーバーがphpに対応していなければ不可能なので、環境については各自で調べてくださいね。

 

phpのファイル名は、HTMLコードで指定するので、変えたければHTMLコードにも変更が必要です。よく分からなければ、そのままにしましょう。

 

ファイルを作ったら、次のコードを貼り付けてみましょう。そして、先ほど作ったhtmlファイルと同じフォルダにアップロードします。

 

[php]
<?php

$url = $_POST[‘url’];
mb_language( ‘Japanese’ );
function getPageTitle( $url ) {
$html = file_get_contents($url); //HTMLコードの取得
$html = mb_convert_encoding($html, "EUC-JP", "UTF-8,EUC-JP,auto" ); //取得したタグの文字コードを変換
if ( preg_match( "/<title>(.*?)<\/title>/i", $html, $matches) ) { //タイトルの抽出
return $matches[1];
} else {
return false;
}
}
?>

<?php

$url = $_POST[‘url’];//URLの抽出
$title = getPageTitle("$url");//サイトのタイトルの抽出
print("$encode<br />");
print ("$url<br />");//URL表示
print ("$title<br />");//タイトル表示
print<<<EOF
<textarea rows="10" cols="100" onclick="this.select()"><a href="$url" target="_blank"><img class="alignleft" alt="$title" src="http://capture.heartrails.com/150×130/shadow?$url" width="150" height="130" align="left" border="0" /></a><a style="color: #0070c5;" href="$url" target="_blank">$title</a><a href="http://b.hatena.ne.jp/entry/$url" target="_blank"><img alt="$title" src="http://b.hatena.ne.jp/entry/image/$url" border="0" /></a>
<div style="clear: both"></div></textarea>
EOF;//テキストエリアにタグを出力
?>

[/php]

 

早速使ってみる

それでは、最初につくったhtmlファイルにアクセスし、URLを貼り付け、「入力」をクリックしてみましょう。すると、次のような画面が表示されるはずです。

 

outoput画面

 

あとは、生成されたコードを貼り付けるだけ!ようやく苦労が報われるのです。

 

php初心者だった僕は、とっても苦労しました。どのサイトを参考にしたかわからないくらい、いろいろみました。その中で、特に勉強になったサイトを紹介します。これをみれば、少なくとも僕のやっていることはわかると思います。

 

入力フォームについて

入力フォーム 初心者用PHP入門入力フォーム 初心者用PHP入門入力フォーム 初心者用PHP入門

 

URLからサイトのタイトル取得について

PHPでWEBページのタイトルを抜き出すサンプル [C!]PHPでWEBページのタイトルを抜き出すサンプル [C!]PHPでWEBページのタイトルを抜き出すサンプル [C!]

 

楽したい!がプログラムの勉強を促す

今回、初めてのphpプログラムをつくりました。モチベーションは至ってシンプルで、「楽をしたい」からです。今の世の中を見渡してみても、「便利」を求めた結果生まれた技術や製品は山ほどあります。

 

今回紹介したのは、初心者が作ったつたないコードですので、まだまだ改良の余地はたくさんあります!ぜひ、勉強して、改善して、よりよいものをつくっていきましょう!いいのができたら、教えてくださいね!

技術提供サイト

サムネイル表示や、はてブ数表示は以下のサイトのサービスを利用しています!ホントに感謝ですよね!

サムネイルの取得

HeartRails Capture | サムネイル画像/PDF ファイル作成サービスHeartRails Capture | サムネイル画像/PDF ファイル作成サービスHeartRails Capture | サムネイル画像/PDF ファイル作成サービス

 

はてブ数の表示

自分のブログに「○○users」を表示する自分のブログに「○○users」を表示する自分のブログに「○○users」を表示する