我有一个16,000个html文件的集合,我正在上传到wordpress。我正在使用HTML导入2.文章的日期位于两个位置,插件无法检测到这两个位置:
1。)每个文件标题为mmddyyxxxxxxx.htm 2.)日期在页面底部的段落中以相同的格式存在,但由不同的文本包围。格式:(yyyy,mm,dd)
和想法?
答案 0 :(得分:1)
此处最简单的解决方案是在导入时使用“设置时间戳到上次修改文件。”选项。由于文件名的日期中有标记,因此您可以编写一个简单的脚本来使时间戳匹配。这可以在bash中完成,或者使用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
}
?>
如果文件名中的日期格式不固定,您可能需要获得更多创意。