你好,我有一个文件名为1208.flowers.blue.jpg
,我想把它改成1208_flowers_blue.jpg
。
$str="1208.flowers.blue.jpg";
$count=substr_count($str,".");
if($count>1){
//Change string to '1208_flowers_blue.jpg'
}
我该怎么做呢?如果这个问题已经有答案了,请告诉我。
你好,我有一个文件名为1208.flowers.blue.jpg
,我想把它改成1208_flowers_blue.jpg
。
$str="1208.flowers.blue.jpg";
$count=substr_count($str,".");
if($count>1){
//Change string to '1208_flowers_blue.jpg'
}
我该怎么做呢?如果这个问题已经有答案了,请告诉我。
最简单的方法是使用正则表达式:
echo preg_replace('/\.(?=.*\.)/', '_', $str);
如果您想删除任何非单词字符(除了a-zA-Z0-9_),则以下正则表达式将匹配非单词字符:
$str="1208.flowers.blue.jpg";
echo preg_replace("/\W(?=.*\.[^.]*$)/", "_", $str);
这也将从文件名1208.flowers.blue.jpg
中删除 .
,并更改为1208_flowers_blue.jpg
如果您只想从文件名中删除 .
,则需要在正则表达式中将\W
替换为 \.
。
$str="1208.flowers.blue.jpg";
echo preg_replace("/\.(?=.*\.[^.]*$)/", "_", $str);
请查看评论中的BenseidSeid提供的答案。
echo str_replace ('.', '_', substr ($str, 0, strrpos ($str, '.'))) . strrchr ($str, '.');
echo str_replace ('.', '_', substr ($str, 0, strrpos ($str, '.'))) . strrchr ($str, '.');
- user5588894