Я считаю, что в пользовательской функции
_FileReadToArray() допущена ошибка.
Рассматриваю строку из этой функции:
$aArray = StringSplit(StringStripCR(FileRead($hFile, FileGetSize($sFilePath))), @LF)
Поясню свою позицию. Дело в том, что строка текстового файла может иметь 3 типа завершения:
1 - @CRLF
2 - @CR
3 - @LF
Автор наверное посчитал что символ
@LF - неотъемлемый элемент перевода на новую строку, и понадеявшись на него, одним махом удалил все
@CR из полученного текста...
На деле же получается, что если строка завершается только символом
@CR, то после такой обработки эта строка соединится со следующей, а в результате мы получим неверный массив.
Предлагаю свой вариант решения:
$aArray = StringSplit(StringRegExpReplace(FileRead($hFile,FileGetSize($sFilePath)),"\r\n|\n",@CR),@CR)
proxy
Цитата:
имеется: файли txt со списком строк
необходимо: из этого файла удалить определенную строчку
|
Пример замены текста в файле:
http://forum.oszone.net/post-533177-616.html