Php preg_replace()[function.preg replace]:分隔符在中不能是字母数字或反斜杠
我想将字符串变量中的每个“./”和“script/upload”替换为“” 我有一个这样的功能: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
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);
}