自作PHPサイトに、検索履歴機能を実装した。
こうなる。
しかし、自分がした検索の履歴を見るだけじゃ面白くない。最近見た動画から単語を拾って履歴に利用できればなお便利。
例えばこういう動画があったとして
見た動画の最初の5文字【新垣結衣】を取り出して検索ボタンにしたい。
PHP内部でbashコマンドを発行して文字列から単語の切り出しを行う。
bash部分はこう。
$ tmpSTR=$(cat doTUBEDL.log | grep Destination | tail -n 1 | sed -e s/^.*:\ //g)
$ echo "$tmpSTR" | cut -c 1-18
このbashコマンドをPHPから実行する。該当部分はこんな感じ。
$commandCATT2 = 'tmpSTR=$(cat doTUBEDL.log | grep Destination | tail -n 1 | sed -e s/^.*:\ //g) && echo "$tmpSTR" | cut -c 1-18';
${tmpSTR:1:18} だとなぜかうまくいかなかった。
なお
最新の文字検索履歴の配列($outputCATT)と
最近の動画検索履歴の配列($outputCATT2)とを結合するには、PHPの配列結合 array_merge()を使う。
コピペ&保存用
<?php // ここからforeachまでを↑のformに入れると動きおかしくなる
/// 直近5件表示
// $commandCATT = 'ls -rt /media/WD30EZRX/PT3 | grep ' . "$myGRE" . ' &';
// $commandCATT = 'cat my_recent_search.txt | tail -n 5 &';
$commandCATT = 'cat my_recent_search.txt | tail -n 5 | sort -r &';
exec($commandCATT, $outputCATT, $retCATT);
// 最新のyoutube-dlのログもcatする
// $commandCATT2 = 'tmpSTR=$(cat doTUBEDL.log | grep Desti | tail -n 1 | sed -e s/^.*://g) && echo ${tmpSTR:0:5}';
// $commandCATT2 = 'tmpSTR=$(cat doTUBEDL.log | grep Desti | tail -n 1 | sed -e s/^.*://g) && echo "$tmpSTR"';
$commandCATT2 = 'tmpSTR=$(cat doTUBEDL.log | grep Desti | tail -n 1 | sed -e s/^.*:\ //g) && echo "$tmpSTR" | cut -c 1-18';
// $commandCATT2 = 'tmpSTR=$(cat doTUBEDL.log | grep Desti | tail -n 1 | sed -e s/^.*://g) && echo "${tmpSTR:0:10}"';
exec($commandCATT2, $outputCATT2, $retCATT2);
// print_r($outputCATT2);
// output配列の結合CATT_MERGE
$outputCATT_M=array_merge($outputCATT, $outputCATT2);
foreach($outputCATT_M as $CATT_M){
// print '<b><font color="orange">' . "$CATT_M" . '</font></b>';
print '<br>';
// print '<font size="3px"><a href="doLSglob.php?CHDIR=PT3&GREPWORD=' . "$CATT_M" . '&MKSORT=goMKSORT">' . "$CATT_M" . '</a></font>';
// print '<font size="3px"><a href="doLSglob.php?CHDIR=PT3&GREPWORD=' . "$CATT_M" . '&MKSORT=goMKSORT">' . "$CATT_M" . '</a></font>';
// print '<a href="#" class="btn btn-info" role="button">Link Button</a>';
print '<a href="doLSglob.php?CHDIR=PT3&GREPWORD=' . "$CATT_M" . '&MKSORT=goMKSORT" class="btn btn-outline-info" role="button">' . "$CATT_M" . '</a>';
// print '<font size="3px"><a href="doLSglob.php?CHDIR=PT3&GREPWORD="' . "$CATT" . '"&MKSORT=goMKSORT"><img src="./icon_mp3.jpg" width="80px" height="auto"></a></font>';
}
?>