0

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

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

6 回答 6

2

你可以试试

 move_uploaded_file($_FILES["file"]["tmp_name"],"product_image/" . str_replace(" ","_",$_FILES["file"]["name"]));
于 2013-06-07T12:42:57.070 回答
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) );

在此示例中,我们允许字母 az、数字 0-9、句点和下划线 - 所有其他字符序列将替换为单个破折号。在通过替换函数运行之前,文件名被转换为全部小写。

于 2012-05-04T04:27:38.187 回答
0

我不明白这样的替换有什么帮助。
如果您有名称中带有空格的实际图像 - 替换后不会显示。
你需要正确编码它urlencode()而不是

如果要替换图像名称,则必须在图像上进行,而不是在链接上进行。
如果您需要任何“清理”,则必须在图像上完成,而不是在链接上。
如果你想编码一个 URI 部分 - 使用urlencode()

每个程序员的动作都必须经过明智的选择,而不是无中生有地随机选择

于 2012-05-04T04:42:45.933 回答
0

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

<img src="/SC/images/<?php echo str_replace(" ", "-", strtolower(the_title('','',false))); ?>-header.jpg" border="0" />
于 2012-05-04T04:27:55.740 回答
0
echo str_replace(' ', '-', strtolower(the_title('','',false)));
于 2012-05-04T04:30:48.027 回答
0

最喜欢的消毒正则表达式:

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

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

于 2012-05-04T04:32:32.600 回答