pagetaka

写真、PC、ネット、岡山、旅の話題をお届けします

PHP:URL相対指定「.」をtrimする

PHPでDOMとかWEBスクレイピングして、RSSがないサイトでも、その更新情報を取得できるようにしたい、と妄想中の爺です。

サイト内リンクだと相対指定になっている

行事を載せているサイトだと、行事名と日付だけあってあとはサイト内の該当ページで詳細を確認して頂戴、みたいなのがよくあります。その際、リンク先の指定は「http」からでなく「../」「./」「/」などのサイト内の相対位置を示すリンク形式になることが多くあります。

このURLを収集しても、実際には使いづらいです。なので、httpからはじまるURLに書き換えなくては…。

trim()を使って、先頭・末尾にある不要な指定文字を消す

trim()関数でよく使うのは、不要な空白が先頭・末尾にある場合です。この関数は、指定した文字でも稼働するみたいです。次のような簡単なPHPスクリプト、とりあえず動いたです。

<?php
$a = "../abcdefg.html";
$aa = trim($a,".");
echo $aa."<br />";
?>

変数$a先頭にある「..」を取りたい、ファイル名の拡張子前にある「.」は取りたくない、という状況です。「/abcdefg.html」と表示され、何も心配は必要ありませんでした。普段のtrim()と同様、先頭と末尾に効く(利く)みたいです。

http以下の必要部分を足してやると絶対指定に

これで、不要部分が消えたので、あとは「http」からはじまる部分を適宜先頭に加えてやれば、個別記事URLができあがり、その分析というか、概要などを抽出できる可能性が手に入ることになりそうです。

PHP:array_diff — 配列の差を計算する

本日はだいぶ進展しました。前回チェックとの差分だけを新たな情報として得るためには array_diff を使えば良いのがわかっています。

1980年代中ごろ、今から30年くらい前、N88-basicがおもしろくて、イロイロやっていたころを少し思い出しておるです。
さて…。