Я использую ниже код для чисел вытяжных и имя файла строк с проблемой стандартизацииRegex для чисел экстракта и расширение строки
30183308__90_.jpeg
30193253-(100).jpg
30193253__100__.jpg
30193253_ _100_ _.jpg
Используйте эту функцию
public function refactorFileName($filename)
{
$array = preg_split("/[^A-Za-z0-9]/", $filename);
foreach($array as $key => $value) {
if($value == "") {
unset($array[$key]);
}
}
$array = array_values($array);
$standardFilename = $array[0].'.'.$array[2];
$indexFile = $array[1];
return compact("indexFile","standardFilename");
}
$filename = '30193253_ _100_ _.jpg';
extract(refactorFileName($filename));
echo "New File name -> ".$standardFilename.PHP_EOL;
echo "Index for file -> ".$indexFile.PHP_EOL;
Это шоу (правильный):
New File name -> 30193253.jpg
Index for file -> 100
Я думаю, что есть лучший код для выражения регулярных выражений.
EDIT: Возможно, что код лучше на preg_split или лучший код вообще для этого вопроса?
Что вы подразумеваете под «лучше»? легче читать/понимать, улучшать производительность и т. д.? – bassxzero
Итак, это рабочий код, и вы просто спрашиваете, как его улучшить? –
Да. Я думаю, что лучший способ сделать код. Особенно в регулярном выражении, используемом в preg_split. ИМХО. – abkrim