我知道我可以将文件名从.xlsx
转换为.csv
,如下所示:
$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)
提前致谢。
答案 0 :(得分:4)
您可以将数组传递给str_replace
:
str_replace([".xlsx", ".xls"], ".csv", $pFileName)
答案 1 :(得分:4)
我评论使用数组:
$pfilename = "hello.xlsx";
$arr = array(".xlsx", ".xls");
echo str_replace($arr, ".csv", $pfilename); // hello.csv
答案 2 :(得分:3)
很简单:
str_replace(array(".xlsx", ".xls"), ".csv", $pfilename);
答案 3 :(得分:3)
使用preg_replace
$pFileName = "hello.xls";
echo $filename = preg_replace('"\.(xls|xlsx)$"', '.csv', $pFileName);