我有一个带有坏字符串的数组,我想用某些单词替换它,目前我写了这段代码来管理它,但它不能正常工作:
public function _clean_filename($fn)
{
if($fn === '')
return;
foreach((array)$_filename_bad_chars as $bad)
{
if(strpos($fn, $bad))
{
str_replace($bad, '', $fn);
}
}
return $fn;
}
Simptom:当我输入一个带有坏字符串的单词时,该函数不返回任何内容。
我应该如何重写此代码以使其正常运行?
似乎:
-
$_filename_bad_chars
应该$this->_filename_bad_chars
-
str_replace($bad, '', $fn);
应该$fn = str_replace($bad, '', $fn);
你可以简化整个方法:
public function _clean_filename($fn)
{
return str_replace($this->_file_bad_chars, '', $fn);
}
str_replace
接受所有参数的数组,给定一个空字符串subject
将返回一个空字符串
此外,您对公共方法使用前导下划线很奇怪!