/* move to the position of the next read, read a line, and save
* the position of the next read */
fseek($fh,$next_read);
$s = fgets($fh,1048576) or die($php_errormsg);
$next_read = ftell($fh);
// convert <b>word</b> to *word*
$s = preg_replace('@<b[^>]*>(.*?)</b>@i','*$1*',$s);
// convert <i>word</i> to /word/
$s = preg_replace('@<i[^>]*>(.*?)</i>@i','/$1/',$s);
/* move to the position where the last write ended, write the
* converted line, and save the position for the next write */
fseek($fh,$last_write);
if (-1 == fwrite($fh,$s)) { die($php_errormsg); }
$last_write = ftell($fh);
}

// truncate the file length to what we've already written
ftruncate($fh,$last_write) or die($php_errormsg);
// close the file
fclose($fh) or die($php_errormsg);

both work well to read a specific line of the file and the other to replace a part of the file or all the file, could some one tell me a function to combine that i mean a function to replace part of a line or all the line of an opened file but just in the line that i want,
thanks a lot