如何检测 $POST 函数内容如果得到 space 然后转换为“_”以创建文件夹?

How to detect if $POST function content if got space then convert to "_" to create folder?

我在检测 $POST 函数内容时遇到问题,如果 space 然后转换为 "dash" 以创建文件夹。如何使用str_replace函数检测space转换为“_”?比如$_POST['function_name']的内容是stack over flow,那么怎么转换成内容就是stack_over_flow。因为在处理文件系统时我需要用“_”转义 space 字符。否则如果$POST内容里有space,就不能让我在系统里建立文件夹。

if ($_POST['function_code']!=''){
$function_symbol = "_";
}if ($_POST['activity_code']!=''){
$activity_symbol = "_";
}if ($_POST['sub_activity_code']!=''){
$sub_symbol = "_";
}if ($_POST['transaction_code']!=''){
$transaction_symbol = "_";
}
$folder_name = $_POST['function_code'].$function_symbol.$_POST['function_name'].$_POST['activity_code'].$activity_symbol.$_POST['activity_name'].$_POST['sub_activity_code'].$sub_symbol .$_POST['sub_activity_name'].$_POST['transaction_code'].$transaction_symbol.$_POST['transaction_name'];

$location2 = $folder_location.'/'.$folder_name;
if($parentid == '0'){
    mkdir("dms/$folder_name",0777,true);
        }if ($parentid > '0' ){
            mkdir("dms/$location2",0777,true);
                    }

我可以知道如何使用这个 str_replace(' ', '_', $folder_name); 代码嵌入到我的代码中吗?希望有人能指导我。谢谢。

您应该使用 str_replace 函数如下

str_replace(' ','_',trim($_POST['function_name']));

您可以使用正则表达式 php 删除所有 space:

$folder_name = preg_replace('/(\s)+/', '_', $folder_name);