如果行包含该单词,我想从文本中删除该单词 例如(如果行包含 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 不能处理变量?
来自 http://php.net/manual/en/function.strpos.php 如果找到该函数,则返回单词的位置,否则返回 false。
所以你应该将代码更改为:
if(strpos($line,$ldap)!== false){}