賢記玉PHP

アコーディオン
"; // // ■■■ ユーザー設定 ■■■ // 記事出力数 デフォルト20記事作成 $out_max=20; // 共起語変数 // 共起語は、'共起語1', '共起語2','共起語3' のようにいくつでも指定可能です。 // 共起語なしの場合は "= array();"としてください。 // 共起語は、記事作成時の共起語リストとここで定義した共起語がマージされます。 // // 共起語出現率 デフォルト15% $appear_percent = 15; // 共起語(商標など) $hinsi_kyokigo_array = array('モビット', 'アイフル', 'プロミス'); // 強調表示有無と強調表示タグ $strong_disp = true; $strong_tag = '%KW%'; // ヘッダーフッター (アコーディオンタグなどご自由にお使いください) $header = ""; $footer = ""; // ■■■ ここまで ■■■ // docファイル読み込み $docs_file = "./kenki_data/alldoc2.csv"; $docs_array = array(); if( file_exists($docs_file) == true ) { $docs_array = file( $docs_file ); } // hinshiファイル読み込み $hinshi_file = array(); $hinshi_array = array(); for( $h = 1; $h <=20; ++$h ) { $hinshi_file[$h] = "./kenki_data/hinshi_".$h.".csv"; if( file_exists($hinshi_file[$h]) == true ) { $hinshi_tmp = file( $hinshi_file[$h] ); $hinshi_array[$h] = $hinshi_tmp; } } // linkファイル読み込み $link_file = "./kenki_data/link.csv"; $link_array = array(); if( file_exists($link_file) == true ) { $link_array = file( $link_file ); } // 出力文字列 $out_text = ""; // ヘッダー $out_text .= $header."\n"; // 取得したファイルデータ(配列)を全て表示する for( $i = 0; $i < $out_max; ++$i ) { // 1行取得 $rnd=rand (0, count($docs_array)-1); $doc_line = $docs_array[$i]; $out_line = ""; // 1文字ずつ解析 for( $m = 0; $m < mb_strlen($doc_line); ++$m ) { // 1文字取得 $ch = mb_substr($doc_line, $m, 1, "utf-8"); if( $ch == "%") { $rep = ""; // 比較元 %xx% 4文字 $hen1 = mb_substr($doc_line, $m, 4, "utf-8"); // 比較先 %01% ~ %20% for( $h = 1; $h <=20; ++$h ) { // %01% 作成 $hen2 = "%".sprintf('%02d', $h) ."%"; // 比較 if( $hen1 == $hen2) { $rnd=mt_rand(0, count($hinshi_array[$h])-1); $rep=$hinshi_array[$h][$rnd]; break; } } // 共起語置換 $ap_rnd=rand (0, 100); // i=0 : 先頭は必ず共起語をいれておく if( $i==0 || $ap_rnd <= $appear_percent ) { // 名詞 if( $hen1 == "%01%" || $hen1 == "%02%" || $hen1 == "%03%" || $hen1 == "%04%" || $hen1 == "%05%" ) { // 共起語があるなら if( count($hinshi_array[18]) > 0 ) { $rnd=mt_rand(0, count($hinshi_array[18])-1); $rep=$hinshi_array[18][$rnd]; // 強調表示 if( $strong_disp == true ){ $rep = str_replace("%KW%", $rep , $strong_tag); } } } } $out_line .= $rep; ++$m; ++$m; ++$m; } else { // %xx%でない通常にコピー $out_line .= $ch; } } // 改行削除 $out_line = str_replace("\n", "" , $out_line); $out_line = str_replace("\r", "" , $out_line); // 全体に追加 $out_text .= $out_line."\n"; } // フッター $out_text .= $footer."\n"; // 最後にリンクを付けて完成 if( count($link_array) > 0) { $rnd=rand(0, count($link_array)-1); $lnk= "
". $link_array[$rnd] . "
"; $out_text .= $lnk; } // 最後にechoで表示。 echo( $out_text); ?>