php – 剥离坏的Windows文件名字符

我发现这个函数测试字符串是否是 Windows文件名和文件夹友好:
function is_valid_filename($name) {
    $parts=preg_split("/(\/|".preg_quote("\\").")/",$name);
    if (preg_match("/[a-z]:/i",$parts[0])) {
       unset($parts[0]);
    }
    foreach ($parts as $part) {
        print "part = '$part'<br>";
       if (preg_match("/[".preg_quote("^|?*<\":>","/")."\a\b\c\e\x\v\s]/",$part)||preg_match("/^(PRN|CON|AUX|CLOCK$|NUL|COMd|LPTd)$/im",str_replace(".","\n",$part))) {
          return false;
       }
    }
    return true;
 }

我宁愿拥有的是一个从字符串中删除所有不良内容函数.我试着基本上用preg_replace替换preg_match但没有雪茄.

继Gordon的 reference之后,这给出了:
$bad = array_merge(
        array_map('chr',range(0,31)),array("<",">",":",'"',"/","\\","|","?","*"));
$result = str_replace($bad,"",$filename);

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...