我想替换每个"../"和"脚本/上传"在我的字符串变量中为 " !
我有一个这样的功能:
public function mypregReplace($v)
{
return preg_replace(
array("%script/uploaded%" , ""),
array( "['.'./]" , ""),
$v);
}
但它向我展示了这个错误
preg_replace() [function.preg-replace]:分隔符不得为 字母数字或反斜杠
我的模式出了什么问题?!
你的格式是错误的,你不需要preg_replace。使用str_replace
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);
}
但是,您应该为此使用str_replace。您不需要正则表达式来匹配确切的字符串:
public function mypregReplace($v)
{
return str_replace(array('script/uploaded', '../'), '', $v);
}