Пример #1
0
function parseContent($content, $fileName, $code)
{
    //save("./tmp.html", $content);
    echo "parseContent : {$fileName} >> ";
    /* 文章名字,作者,学位授予单位,来源数据库,学位授予年度,下载次数,预览地址 */
    $articleName = parseArticleName($content);
    $authors = parseAuthor($content);
    $schools = parseSchool($content);
    $origin = parseOrigin($content);
    $years = parseYear($content);
    //var_dump($origin);exit;
    //$downCount = parseDownCount($content);
    $previewPage = parsePreviewURL($content);
    $abstractUrl = parseAbstractUrl($content);
    //echo count($articleName) . " >> " . count($authors) . " >> " .count($schools) . " >> " .count($origin) . " >> " .count($years) . " \n";
    $saveContent = "";
    $len = count($articleName);
    for ($i = 0; $i < $len; $i++) {
        $articleNm = win_dir_format($articleName[$i]);
        $item = "{$articleNm}\t{$authors[$i]}\t{$schools[$i]}\t{$origin[$i]}\t{$years[$i]}\t{$previewPage[$i]}\t{$abstractUrl[$i]}\t{$code}";
        $saveContent .= "{$item}\n";
    }
    if ($len == 0) {
        echo "Done... but get nothing form {$fileName}\n";
        return;
    }
    save($fileName, $saveContent, "a+");
    echo "Done!\n";
}
Пример #2
0
function importBlogPost($file)
{
    $content = file_get_contents($file);
    $lines = explode("\n", $content);
    $bodyArray = [];
    $isBody = false;
    $metaStarted = false;
    // parse each line for meta and then body
    for ($i = 0; $i <= sizeof($lines); $i++) {
        $thisLine = $lines[$i];
        if ($isBody === false) {
            // if line starts with --, meta has begun or ended
            if (substr($thisLine, 0, 2) === '--') {
                if ($metaStarted) {
                    $isBody = true;
                } else {
                    $metaStarted = true;
                }
            } else {
                $meta = explode(':', $thisLine);
                switch ($meta[0]) {
                    case 'author':
                        $author = parseAuthor(trim(strtolower($meta[1])));
                        break;
                    case 'date':
                        $date = parseDate($thisLine);
                        break;
                    case 'slug':
                        $slug = $meta[1];
                        break;
                    case 'title':
                        $title = parseTitle($thisLine);
                        break;
                    case 'status':
                        $status = $meta[1];
                        break;
                    case 'category':
                        $category = parseTaxonomy($lines, $i);
                        break;
                    default:
                        break;
                }
            }
        } else {
            array_push($bodyArray, $thisLine);
        }
    }
    $body_md = implode("\n", $bodyArray);
    $body_html = Markdown($body_md);
    $postToImport = array('post_content' => $body_html, 'post_name' => $slug, 'post_title' => $title, 'post_status' => $status, 'post_author' => $author, 'post_content_filtered' => $body_md, 'post_date' => $date, 'tags_input' => $category);
    // insert the post into the database!
    $imported = wp_insert_post($postToImport);
    if ($imported === 0) {
        echo '<b style="color:red;">IMPORT FAILED: ' . $postToImport[post_title] . '</b><br />';
    } else {
        echo 'Successful Import: ' . $postToImport[post_title] . '<br />';
    }
}