【问题标题】:How do I remove the spaces from my image name?如何从图像名称中删除空格?
【发布时间】:2012-05-13 15:16:13
【问题描述】:

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

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

【问题讨论】:

    标签: php wordpress replace lowercase


    【解决方案1】:

    你可以试试

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

    【讨论】:

      【解决方案2】:

      我不明白这样的替换有什么帮助。
      如果您有一个名称中包含空格的实际图像 - 替换后将不会显示它。
      您需要使用 urlencode() 对其进行正确编码

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

      每个程序员的动作都必须经过明智的选择,而不是随随便便地挑选出来

      【讨论】:

        【解决方案3】:

        我的favorite regex 进行消毒:

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

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

        【讨论】:

        • 是的 - 仍然需要知道如何保存当前的 strtolower 调用。
        • 这应该没问题(str 之前或之后降低应该无关紧要),但这并没有涉及到您需要先使用空格来破折号的事实......正在更新。
        【解决方案4】:

        可以使用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、句点和下划线 - 所有其他字符序列都将替换为单个破折号。在通过替换函数运行之前,文件名将全部转换为小写。

        【讨论】:

        • 我们可以让它与 strtolower 和 str_replace 一起工作吗?
        • @user1373974 查看我的更新以获取在此解决方案中使用 strtolower 的示例。
        【解决方案5】:
        echo str_replace(' ', '-', strtolower(the_title('','',false)));
        

        【讨论】:

          【解决方案6】:

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

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

          【讨论】:

            猜你喜欢
            • 2019-10-31
            • 1970-01-01
            • 1970-01-01
            • 2018-09-29
            • 1970-01-01
            • 2012-06-28
            • 1970-01-01
            • 2020-12-25
            • 2016-08-22
            相关资源
            最近更新 更多