Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как убрать переводы строки

10K
27 июля 2005 года
seniorleo
10 / / 26.07.2005
Допустим у меня есть текстовый файл в которм написано следующее

<td>

<tr>

<table>

и такой скрипт
<?

$infile = 'd:/begin.txt';

$outfile = 'd:/newprobe.txt';

$newtags = array('<','>','\n');

$in = fopen($infile,"r+");

if (!$in)
{
echo "Unable to open file!!!!";

exit();

}

else

echo "OK!!!";

$cont = fread($in,filesize($infile));

foreach ($newtags as $ptr)
{

$cont = str_replace($ptr,"",$cont);

}

fclose($in);

$out = fopen($outfile,"w+");

fwrite($out,$cont);

fclose($out);

?>

и вот что получаю в выходном файле

td

tr

table

т.е. переводы строки не убрались
а теперь вопрос - в чём проблема?

Пробовал писать вместо \n \\n - ни фига не помогает

тоже не помогает
271
27 июля 2005 года
MrXaK
721 / / 31.12.2002
попробуй $in = fopen($infile,"rb+");
или заменять не \n а \0
10K
27 июля 2005 года
seniorleo
10 / / 26.07.2005
Цитата:
Originally posted by Mr.Hacker
попробуй $in = fopen($infile,"rb+");
или заменять не \n а \0



Попробовал не помогает

\\0 пробовал тоже не помогает

Что за хрень?

15
27 июля 2005 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by seniorleo
Попробовал не помогает

\\0 пробовал тоже не помогает

Что за хрень?


\n\r, \r, \n. Поищи их ASCII коды.

271
27 июля 2005 года
MrXaK
721 / / 31.12.2002
а по-моему chr(20) - стандарт для перевода строки... ведь в разных ос перевод строки по разному может быть... от \r\n до \t\r... попробуй его...
1.8K
29 июля 2005 года
BIKTOP
91 / / 06.04.2005
Цитата:
Originally posted by seniorleo
Допустим у меня есть текстовый файл в которм написано следующее ...



А ты попробуй по-другому. Например, не обязательно использовать fopen. Тебе ведь (на сколько я понял) надо лишь считать содержимое файла. Так вот:

Код:
$key = 0;
$cont = file ('d:/begin.txt');
foreach ($cont as $string) {
    foreach ($newtags as $ptr) {
       $new_cont[$key] = trim (
           str_replace ($ptr, "", $string));
    }
    $key++;
}
$cont = join (' ', $new_cont);
// а дальше так, как у тебя

Лучше конечно вместо вложенного циклf foreach использовать
preg_replace (/[<>]/, ' ', $string);

Идея в том, что файл читается в список. Затем каждый элемент списка разбирается и добавляется в строку $new_cont, которая и выводится в файл.

Код может и кривой (я был уставший, и немножечко ... :) ), Но попробовать думаю стоит.
365
29 июля 2005 года
MasterSID
230 / / 23.02.2003
Да лучше уж так:
 
Код:
$file_content=str_replace("\n", '', $file_content);
$file_content=str_replace("\r", '', $file_content);
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог