我希望能够遍历目录中的所有文件(脚本所在的文件)并提取部分名称并将其转换为CSV可读。
自:
ch-026-Metallic-Morphing Mauve-14pt.jpg
要:
ch-026, Metallica-Morphing Mauve-14pt
......或者Excel或Numbers可以阅读它。
应你们几个人的要求,我会澄清我要删除第二个“ - ”短划线并用逗号和空格替换它。
答案 0 :(得分:2)
首先,使用
$fileList = scandir( $directoryPath );
扫描目录。然后像这样循环
foreach( $fileList as $fileName ) {
...
}
最后,使用preg_match来匹配条目。一般为:
$subject = "abcdef";
$pattern = '/^def/';
preg_match($pattern, fileName, $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
在你的情况下,像
这样的模式$pattern = '/^ch-\d*-(.*)-\d*pt\.jpg$/';
可能会完成这项工作。
最后,使用$ matches中提供的信息编写CSV文件。
答案 1 :(得分:0)
您可以“提取名称的一部分并将其转换为CSV可读”以使用regexp匹配您的示例:
$csv_contents .= preg_replace('/^([^-]+-[^-]+)-(.+)\.jpg$/','\1, \2',$filename)."\n";
$filename
可以使用Stefan Pantke的剧本获得。