我收集了 16,000 个要上传到 wordpress 的 html 文件。我正在使用 HTML 导入 2。文章的日期位于两个位置,插件都无法检测到这两个位置:
1.) 每个文件的标题为 mmddyyxxxxxxx.htm 2.) 日期在页面底部的段落中以相同的格式存在,但被不同的文本包围。格式:(yyyy, mm, dd)
和想法?
这里最简单的解决方案是在导入时使用“将时间戳设置为上次修改文件的时间。 ”选项。由于文件名的日期中有时间戳,因此您可以编写一个简单的脚本来使时间戳匹配。这可以在 bash 或 PHP 中使用该touch()
函数来完成。
您可能需要将文件分成可用的组,因为glob()
有限制,但是,这里有一个简单的示例来完成此操作:
<?php
# change mod+access times based on filenames
$files = glob("myfiles/*.htm");
foreach( $files as $file ) {
$temp = pathinfo( $file ); // may have relative path in it
$name = $temp['filename']; // just "mmddyyxxxxxxx" at this point
// assuming date format in filenames are fixed-lengths, you can rebuild
// timestamp to yyyy-mm-dd format with this:
$date = sprintf("20%s-%s-%s", // cheap trick to start years with 20
substr( $name, 4, 2 ),
substr( $name, 2, 2 ),
substr( $name, 0, 2 )
);
$stamp = strtotime( $name ); // timestamp
touch( $file, $stamp, $stamp ); // sets both mod + access time
}
?>
如果文件名中的日期格式不固定,您可能需要获得更多创意。