Forum Webscript.Ru

Программирование => PHP => Тема начата: DeeSee от 10 Июля 2005, 23:00:00

Название: preg_replace и \\n
Отправлено: 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 и \\n
Отправлено: Меняздесьдавнонет от 11 Июля 2005, 04:42:56
при чём здесь preg_replace?
$f - не может быть файлом. В пхп нет такого типа - файл.
если ты перебираешь $f через foreach - значит, это массив, а никакой не файл.

если ты не можешь понять, откуда берётся перевод строки - прочти свои же слова:
Цитировать
многострочный txt-файл
Название: preg_replace и \\n
Отправлено: DeeSee от 11 Июля 2005, 11:02:57
Цитировать
если ты перебираешь $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
написано, что точка:
Цитировать
соответствует любому символу, кроме перевода строки (по умолчанию)

Откуда берётся перевод строки не ясно...
Как его можно убрать?
Название: preg_replace и \\n
Отправлено: sublimity от 11 Июля 2005, 14:11:27
помойму тута есть ответ :)
http://php.rinet.ru/manual/ru/function.file.php
Название: preg_replace и \\n
Отправлено: Syrinx от 12 Июля 2005, 16:29:50
$a = preg_replace( "/URL=http:\\/\\/www.tram-pam-pam.ru\\/file\\/(.*?)\\n/", "\\\\1", $a);