Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php preg_replace()[function.preg replace]:分隔符在中不能是字母数字或反斜杠_Php_Preg Replace_Expression - Fatal编程技术网

Php preg_replace()[function.preg replace]:分隔符在中不能是字母数字或反斜杠

Php preg_replace()[function.preg replace]:分隔符在中不能是字母数字或反斜杠,php,preg-replace,expression,Php,Preg Replace,Expression,我想将字符串变量中的每个“./”和“script/upload”替换为“” 我有一个这样的功能: public function mypregReplace($v) { return preg_replace( array("%script/uploaded%" , ""), array( "[\.\./]" , ""), $v); } 但它向我展示了这个错误 preg_rep

我想将字符串变量中的每个“./”和“script/upload”替换为“”

我有一个这样的功能:

public function mypregReplace($v) 
{                          
    return preg_replace(
        array("%script/uploaded%"  , ""),
        array( "[\.\./]"  ,  ""),
        $v); 
}
但它向我展示了这个错误

preg_replace()[function.preg replace]:分隔符不能为空 中的字母数字或反斜杠


我的图案怎么了

您的数组有误。第一个数组应该只包含模式,第二个数组应该是替换值。你想要:

public function mypregReplace($v) 
{                          
    return preg_replace(
        array("%script/uploaded%", "%\.\./%"),
        array("",  ""),
        $v); 
}
可进一步简化为:

public function mypregReplace($v) 
{                          
    return preg_replace(
        array('%script/uploaded%', '%\.\./%'),
        '',
        $v); 
}
但是,您应该为此使用。您不需要正则表达式来匹配精确的字符串:

public function mypregReplace($v) 
{                          
    return str_replace(array('script/uploaded', '../'), '', $v); 
}

你的数组错了。第一个数组应该只包含模式,第二个数组应该是替换值。你想要:

public function mypregReplace($v) 
{                          
    return preg_replace(
        array("%script/uploaded%", "%\.\./%"),
        array("",  ""),
        $v); 
}
可进一步简化为:

public function mypregReplace($v) 
{                          
    return preg_replace(
        array('%script/uploaded%', '%\.\./%'),
        '',
        $v); 
}
但是,您应该为此使用。您不需要正则表达式来匹配精确的字符串:

public function mypregReplace($v) 
{                          
    return str_replace(array('script/uploaded', '../'), '', $v); 
}

您的格式错误,因此不需要preg_替换。使用
str\u替换

public function mypregReplace($v) 
{                          
   return str_replace(
    array("script/uploaded"  , "../"),
    '',
    $v); 
}

您的格式错误,因此不需要preg_替换。使用
str\u替换

public function mypregReplace($v) 
{                          
   return str_replace(
    array("script/uploaded"  , "../"),
    '',
    $v); 
}