我正在使用 ereg 维护一些代码,并迁移到 preg_match (不要忘记分隔符),但它破坏了我的功能。
这是我的原始函数,它获取一个文件,并创建一个裁剪副本,该副本在遇到仅由 # 组成的行 6 次后停止:
function createStrippedFile($path1, $path2)
{
$lines = file($path1);
$handle = fopen($path2,"w");
// 6
$index = 0;
foreach ($lines as $line)
{
$line = trim($line);
if ($index != 7)
fwrite($handle,$line."\r\n");
if (ereg("^[#]+$",$line) !== FALSE)
++$index;
}
fwrite($handle,"END OF DOC\r\n");
fclose($handle);
}
在这段代码中我改变了:
if (ereg("^[#]+$",$line) !== FALSE)
经过
if (preg_match('/^[#]+$/',$line) !== FALSE)
但现在它不再种植了。过渡时有什么我错过的吗?
PS:如果有人知道更好的方法来做我想做的事情,他也可以写出来。