Forum Webscript.Ru
Программирование => PHP => Тема начата: DeeSee от 10 Июля 2005, 23:00:00
-
Не могу понять откуда берётся перевод строки в конце $a...
// $f - многострочный txt-файл
foreach($f as $a)
{
$a = preg_replace( "/URL=http\\:\\/\\/www.tram-pam-pam.ru\\/file\\/(.*?)\\n/", "\\\\1", $a);
echo \'$a\';
}
В чём ошибка?
-
при чём здесь preg_replace?
$f - не может быть файлом. В пхп нет такого типа - файл.
если ты перебираешь $f через foreach - значит, это массив, а никакой не файл.
если ты не можешь понять, откуда берётся перевод строки - прочти свои же слова: многострочный txt-файл
-
если ты перебираешь $f через foreach - значит, это массив, а никакой не файл.
Ессесно, не так выразился...
$f=file($DOCUMENT_ROOT.$d);
$d - многострочный файл
$f - массив
если ты не можешь понять, откуда берётся перевод строки - прочти свои же слова
Ну так ведь в шаблоне я указал перевод строки:
preg_replace( "/URL=http://www.tram-pam-pam.ru/file/(.*?)\\n/", "\\\\1", $a)
Более того попробовал
preg_replace( "/URL=http://www.tram-pam-pam.ru/file/(.*?).exe\\n/", "\\\\1", $a)
уже не работает... Неужели \\n неверно вписал?
preg_replace( "/URL=http://www.tram-pam-pam.ru/file/(.*?).exe/", "\\\\1", $a)
Всеравно в $a добавляется перевод строки...
Не понятно... В (.*?) всё вроди правильно указано...
На http://ru3.php.net/manual/ru/reference.pcre.pattern.syntax.php
написано, что точка:
соответствует любому символу, кроме перевода строки (по умолчанию)
Откуда берётся перевод строки не ясно...
Как его можно убрать?
-
помойму тута есть ответ :)
http://php.rinet.ru/manual/ru/function.file.php
-
$a = preg_replace( "/URL=http:\\/\\/www.tram-pam-pam.ru\\/file\\/(.*?)\\n/", "\\\\1", $a);