PHPでふたばの現行スレッドを取得して、常に現行スレが開くリンクを作る方法

ふたばはスレがすぐ削除されるため、毎回現行スレッドを探さないといけません。
その手間を無くそうと、現行スレが絶対に開くリンクを開発()しました。
完全に自分用ですが、せっかくなので共有。
※東方裏の場合です。板によって違うので応用ください。
PHPソース
このPHPファイルをWEBサーバーに置きます。
そして、これをURLから開くとリダイレクトし、現行スレへ飛ぶ仕組み。
<?php
//カタログページのスレッドの本文取得にCoocieが必要(本文表示設定ON)
$opts = array(
'http'=>array(
'method' => 'GET',
'header' => "Cookie: cxyl=20x20x20x0x0"
)
);
$context = stream_context_create($opts);
//カタログページのソースを抽出
$data = file_get_contents('https://dec.2chan.net/55/futaba.php?mode=cat', false, $context);
//ふたばはShift_JISなので、utf-8に変換
$data = mb_convert_encoding($data,"utf-8","sjis");
//正規表現での抽出パターン。この文字列がある行を抽出。
$pattern = '/<td>.*東方キャノンボールスレ.*?<\/td>/';
//パターンマッチ
if(preg_match_all($pattern, $data, $result)){
//置換でURLを抽出
$subject = array('','htm');
$pattern = array('#<td><a href=\'#','#htm\'.+?$#');
$url = preg_replace($pattern, $subject, $result[0][0]);
//抽出されるURLは相対パスなので、絶対パスに変換
$url = "https://dec.2chan.net/55/".$url;
}else{
//スレが無い場合はカタログトップのURLに
$url = "https://dec.2chan.net/55/futaba.php?mode=cat";
}
//リダイレクト
header('Location: ' . $url, true, 301);
exit;
?>
適当ですが動けばヨシ。10分クオリティ。
問題点はテンプレ頼りというところ
テンプレ頭の本文で識別していますので、
統一されていない場合は抽出が難しくなります。
東方キャノンボールのスレは毎回同じなので簡単。
ということで、出来上がったのがこちらのURLになります。
記事ランダム
ランダム