將TheGuide的資料,轉換為網頁檢視的格式!


說明:從 TheGuide 匯出的 *.rtf 檔案,用wordpad開啟,全選,複製,貼到notepad++裡,另存新檔,編碼為 UTF-8(無BOM),檔案名稱為 data.txt。之後再用本網頁 index.php 進行轉換。將產生出來的 data 資料夾替換掉範本的資料夾即可!
參考範本template.zip

程式回報結果:
1 && trim($straTmp[0])!="") { $straNumbers=explode(".", trim($straTmp[0])); if(count($straNumbers)>1) { $booIsCode=true; for($iN=0; $iN1) $str1 .= " "; $str1 .= $straTmp[$i]; } return $str1; } function booHasContent($strContent) { $strChk=str_replace('
', "", $strContent); $strChk=str_replace("\r\n", "", $strChk); if($strChk!="") return true; else return false; } function filePutContents($strCode, $strCaption, $strContent) { global $strBuffer; if(booHasContent($strContent)==true) { // 有內容 $strEmpty="false"; $strCnt = '' . "\r\n" . $strContent . "\r\n" . ''; file_put_contents('./data/' . $strCode . '.htm', $strCnt); } else { // 無內容 $strEmpty="true"; } $strBuffer .= " ct(\"" . $strCode . "\", \"" . $strCaption . "\", " . $strEmpty . ");" . "\r\n"; } function destroy_dir($dir) { if (!is_dir($dir) || is_link($dir)) return unlink($dir); foreach (scandir($dir) as $file) { if ($file == '.' || $file == '..') continue; if (!destroy_dir($dir . DIRECTORY_SEPARATOR . $file)) { chmod($dir . DIRECTORY_SEPARATOR . $file, 0777); if (!destroy_dir($dir . DIRECTORY_SEPARATOR . $file)) return false; }; } return rmdir($dir); } function getIIdxForRootNode_maybe($straLine, $iLines) { for($i=0; $i<$iLines; $i++) { if(trim($straLine[$i])!="") { return $i; } } return -1; } $strFileContents = file_get_contents('data.txt'); $straLine = explode("\r\n", $strFileContents); $iLines = count($straLine); // 刪除目錄 $rtn=destroy_dir('./data'); if($rtn==true) echo("rmdir ok
"); else echo("rmdir error
"); // 建立目錄 $rtn=mkdir('./data'); if($rtn==true) echo("mkdir ok
"); else echo("mkdir error
"); $strBuffer=""; $iRootIdx=getIIdxForRootNode_maybe($straLine, $iLines); $strCode="1"; $strCaption=$straLine[$iRootIdx]; $strContent=""; for($i=($iRootIdx+1);$i<$iLines;$i++) { $strTmpCode=getStrExtractCode($straLine[$i]); if($strTmpCode=="") { $strContent .= str_replace('<','<',$straLine[$i]) . '
' . "\r\n"; } else { filePutContents($strCode, $strCaption, $strContent); $strCode=$strTmpCode; $strCaption=getStrCaption_maybe($straLine[$i]); $strContent=""; } } if($strCode!="") { filePutContents($strCode, $strCaption, $strContent); } if($strBuffer!="") { $strBuf = ' function initialization()' . "\r\n" . ' {' . "\r\n" . $strBuffer . "\r\n" . ' refreshTree();' . "\r\n" . ' }' . "\r\n"; file_put_contents('./data/left.js', $strBuf); } echo 'Finished ' . $iLines . ' lines!
'; ?>