2016-06-07 2 views
0

Я знаю, что могу преобразовать имя файла из .xlsx в .csv так:Использование str_replace() для замены двух типов имен файлов

$pFileName = "hello.xlsx" 
str_replace(".xlsx", ".csv", $pFileName); 

... и конвертировать .xls в .csv, как это:

$pFileName = "hello.xls" 
str_replace(".xls", ".csv", $pFileName); 

Вопрос в том, как я могу сделать одну функцию, которая преобразует мое имя файла в .csv, если его .xlsx или .xls? Это означает, что «изменить имя файла .csv, если это .xls или XLSX в один сингл (если это возможно) str_replace

Я попытался с двойным str_replace не повезло:.

str_replace(str_replace(".xlsx", ".csv", $pFileName), ".csv", $pFileName) 

Спасибо . продвижение

+2

сделать массив и заменить его с некоторыми значениями, Смотрите мой ответ. –

+0

'str_replace (['. Xls', '.xlsx'], '.csv', $ string);' – DarkBee

ответ

3

Очень просто:

str_replace(array(".xlsx", ".xls"), ".csv", $pfilename); 
4

я комментирую использовать массив, как:

$pfilename = "hello.xlsx"; 

$arr = array(".xlsx", ".xls"); 
echo str_replace($arr, ".csv", $pfilename); // hello.csv 
3

Использование preg_replace

$pFileName = "hello.xls"; 
echo $filename = preg_replace('"\.(xls|xlsx)$"', '.csv', $pFileName); 
Смежные вопросы