PHP-如果一个单词包含某个字符串,则替换它
我有一个带有坏字符串的数组,我想用某些词替换它,目前我编写了此代码来管理它,但它不能正常工作:PHP-如果一个单词包含某个字符串,则替换它,php,Php,我有一个带有坏字符串的数组,我想用某些词替换它,目前我编写了此代码来管理它,但它不能正常工作: public function _clean_filename($fn) { if($fn === '') return; foreach((array)$_filename_bad_chars as $bad) { if(strpos($fn, $bad)) { str_replace($bad, ''
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:当我输入一个包含坏字符串的单词时,函数不返回任何内容
我应该如何重写此代码以使其正常工作?似乎:
$\u filename\u bad\u chars
应该是$this->\u filename\u bad\u chars
stru替换($bad,,$fn)代码>应该是$fn=str\u replace($bad,,$fn)代码>
$\u filename\u bad\u chars
应该是$this->\u filename\u bad\u chars
stru替换($bad,,$fn)代码>应该是$fn=str\u replace($bad,,$fn)代码>
您可以简化整个方法:
public function _clean_filename($fn)
{
return str_replace($this->_file_bad_chars, '', $fn);
}
str\u replace
接受所有参数的数组,并为subject
指定一个空字符串,则返回一个空字符串
此外,在公共方法中使用前导下划线也很奇怪 您可以简化整个方法:
public function _clean_filename($fn)
{
return str_replace($this->_file_bad_chars, '', $fn);
}
str\u replace
接受所有参数的数组,并为subject
指定一个空字符串,则返回一个空字符串
此外,在公共方法中使用前导下划线也很奇怪 那么
$\u filename\u bad\u chars
定义在哪里呢。不在这个函数的范围内,这是肯定的,它在同一个类中声明为一个公共数组:)那么请尝试$this->\u filename\u bad\u chars
并松开(数组)
强制转换,当然,除非它不是数组??没有任何更改。。。函数返回相同的结果。str_replace($bad,,$fn)
返回一个字符串,您正在将其转储到以太中,请参阅@Forseti answerSo where is$\u filename\u bad\u chars
defined。不在这个函数的范围内,这是肯定的,它在同一个类中声明为一个公共数组:)那么请尝试$this->\u filename\u bad\u chars
并松开(数组)
强制转换,当然,除非它不是数组??没有任何更改。。。函数返回相同的结果。str_replace($bad,,$fn)
返回一个字符串,您正在将其转储到以太中,请参见@Forseti answerLol,我现在感觉自己像一个彻头彻尾的傻瓜!非常感谢大家!循环也是多余的,因为str\u replace
接受了arraysLol,我现在感觉像一个完全的noob!非常感谢大家!循环也是多余的,因为str\u replace
接受数组