带变量的 Strpos

Strpos with variable

如果行中包含这个词,我想从文本中删除这个词 例如(如果行包含 hello 我想从文本中删除这一行) 我使用了这个代码

$ldap="ldap".$sil;
$lines=array();

foreach(file('/etc/freeradius/sites-enabled/default') as $line){
    if(strpos($line,$ldap)){
        echo "dfasd";
        $line = str_replace($ldap, '', $line);
        array_push($lines, $line);
    }

    array_push($lines, $line);
}

file_put_contents('/etc/freeradius/sites-enabled/default', $lines);

但是这段代码 return 它不包含这个字符串但是当我将字符串直接写入 strpos 例如

strpos($line,'ldap10')

它删除了这一行 为什么 Strpos 不使用变量?

来自 http://php.net/manual/en/function.strpos.php 函数 return 如果找到单词的位置,否则 return false。

所以您应该将代码更改为:

if(strpos($line,$ldap)!== false){}