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