检查 strpos() 是否为真无法在字符串开头找到匹配项[重复]

问题描述 投票:0回答:1

如果行包含该单词,我想从文本中删除该单词 例如(如果行包含 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);

但是此代码返回它不包含此字符串,但是当我将字符串直接写入 strpos 时

strpos($line,'ldap10')

删除了这一行 为什么 Strpos 不能处理变量?

php strpos
1个回答
1
投票

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

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

if(strpos($line,$ldap)!== false){}
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.