如何从图像名称中删除空格?

时间:2012-05-04 04:24:08

标签: php wordpress replace lowercase

除了将图片名称全部小写之外,我还想将任何空格更改为破折号。

<img src="/SC/images/<?php echo strtolower(the_title('','',false)); ?>-header.jpg" border="0" />

6 个答案:

答案 0 :(得分:2)

你可以尝试

 move_uploaded_file($_FILES["file"]["tmp_name"],"product_image/" . str_replace(" ","_",$_FILES["file"]["name"]));

答案 1 :(得分:1)

可以使用str_replace()删除简单空格:

$image = "foo and bar.png";

// foo-and-bar.png
echo str_replace( " ", "-", $image );

使用正则表达式可以完成更复杂的搜索/替换:

$image = "foo2   and_ BAR.png";

// foo2-and_-bar.png
echo preg_replace( "/[^a-z0-9\._]+/", "-", strtolower($image) );

在此示例中,我们允许使用字母a-z,数字0-9,句点和下划线 - 所有其他字符序列将替换为单个短划线。在运行替换函数之前,文件名将转换为全小写。

答案 2 :(得分:0)

使用str_replace包装输出,如下所示。

<img src="/SC/images/<?php echo str_replace(" ", "-", strtolower(the_title('','',false))); ?>-header.jpg" border="0" />

答案 3 :(得分:0)

echo str_replace(' ', '-', strtolower(the_title('','',false)));

答案 4 :(得分:0)

我的favorite regex进行消毒:

echo strtolower( preg_replace( '/[^a-zA-Z0-9\-]/', '', preg_replace( '/\s/g', '-', the_title( '', '', false ) ) ) );

这将删除所有非字母数字字符。

答案 5 :(得分:0)

我不明白这样的替代是如何帮助的 如果您的名字中有空格的实际图像 - 替换后将不会显示 您需要使用urlencode()而不是

对其进行正确编码

如果要替换图像名称,则必须在图像上进行,而不是在链接上进行 如果您需要任何“消毒”,则必须在图像上进行,而不是在链接上进行 如果要编码URI部分 - 请使用urlencode()

每个程序员的行动都必须精心挑选,而不是随意挑选出来