使用PHP删除text.txt中的真空/空行
我试图删除真空管路。 我的剧本,搜索一行,删除她,但它仍然是一个真空行使用PHP删除text.txt中的真空/空行,php,line,emptydatatext,Php,Line,Emptydatatext,我试图删除真空管路。 我的剧本,搜索一行,删除她,但它仍然是一个真空行 hello dude world 我做了以下脚本: $chaine="dude"; $file=$filename; $texte = file_get_contents($file); $texte = str_replace($chaine ,'',$texte); $texte = preg_replace('/\s+/s', "\n", $texte); try { if(!$
hello
dude
world
我做了以下脚本:
$chaine="dude";
$file=$filename;
$texte = file_get_contents($file);
$texte = str_replace($chaine ,'',$texte);
$texte = preg_replace('/\s+/s', "\n", $texte);
try
{
if(!$fd = fopen($filename, "w")){
throw new Exception("Erreur ouverture du fichier");
}
else
{
fwrite($fd, $texte);
/*On ferme le fichier*/
fclose($fd);
}
}
catch (Exception $e) {
echo "Error de parametre fichier introuvable (File: ".$e->getFile().", line ".
$e->getLine()."): ".$e->getMessage();
echo "\n";
}
我有
hello
world
但是如果我删除第一条:你好,我有一条真空管路:
(vacuum line)
world
我怎样才能解决这个问题
我试着修剪、str_替换,但它不起作用…替换这个:
$texte = str_replace($chaine ,'',$texte);
$texte = preg_replace('/\s+/s', "\n", $texte);
为此:
$texte = preg_replace('#' . $chaine . '\s*#', "\r", $texte);
我不知道你的换行符是什么样子的,但是试着用“\r”、“\n”或“\r\n”作为替换字符串。
$texte=preg\u replace('/^'.preg\u quote($chaine,'/')。[\r\n]+/','$texte)代码>仅适用于第一行。如果$chaine=world,则它不起作用将[\r\n]+
更改为(?:[\r\n]+|$)
工作正常!Thx!:)“这有什么用?”在队列中?它们是正则分隔符。您需要将它们放在正则表达式字符串的开头和结尾;它可以是任何不寻常的字符,如%
,
,·
,~
,^
或/
。