yumでインストールしたパッケージのインストール先を調べる方法。
rpm -ql パッケージ名
です。
PHPでtableのHTMLをcsvとしてダウンロードする。
function table_tag2csv($buff) { $buff = preg_replace("/>[\s]+<",$buff); $buff = preg_replace("/^.*<table[^>]*>/Uis","",$buff); $buff = preg_replace("/<\/table>.*$/is","",$buff); $buff = preg_replace("/<([a-z]+) ([^>]+)>/i","<$1>",$buff); $buff = preg_replace("//i","",$buff); $buff = preg_replace("/<\/th>/i","",$buff); $buff = preg_replace("/<\/?[^(tr|td)<>]+>/i","",$buff); $buff = str_replace("\r\n","\n",$buff); $buff = preg_replace("/(\r|\n)/","\r\n",$buff); $csv = ""; if(preg_match_all("/(.*)<\/tr>/iU",$buff,$trmatches)){ foreach($trmatches[1] as $rows){ if(preg_match_all("/(.*)<\/td>/iU",$rows,$tdmatches)){ for($i=0;$i<count($tdmatches[1]);$i++){ if(strpos($tdmatches[1][$i],",")!==false || strpos($tdmatches[1][$i],'"')!==false || strpos($tdmatches[1][$i],"\r\n")!==false){ $tdmatches[1][$i] = '"'.str_replace('"','""',$tdmatches[1][$i]).'"'; } $tdmatches[1][$i] = htmlspecialchars_decode($tdmatches[1][$i]); } $csv .= implode(',',$tdmatches[1]); } $csv .= "\r\n"; } } header('Cache-Control: private, max-age=10800, pre-check=10800'); header('Content-Disposition: attachment; filename="'.date("Y-m-d").'.csv"'); header('Pragma: no-cache'); header('Content-Type: text/comma-separated-values'); header('Content-Length: ' . strlen($csv)); return $csv; }
引数にtableのHTMLを突っ込んで、
戻り値をechoすればOKです。
PHPで多次元配列を再帰的に空かどうかを確認する関数
/* * 多次元配列を再帰的に空かどうかを確認する */ function isEmpty($arr){ $rtn = true; if(!empty($arr)){ if(is_array($arr)){//配列なら $second_rtn = true; foreach($arr as $item){ $second_rtn = $this->isEmpty($item); if(!$second_rtn){ $rtn = $second_rtn; break; } } }else{ if(!empty($arr)){ $rtn = false; } } } return $rtn; }
こんな感じです。
空ならtrueが返ります。
正規表現で特定の文字列を含まない行!
^(?!.*STRING).+$
STRINGのところを当該文字列に置き換えればOKです。
ちなみに「含む行」の場合は、
^.*STRING.*\n