Как убрать переводы строки
<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 - ни фига не помогает
тоже не помогает
или заменять не \n а \0
Цитата:
Originally posted by Mr.Hacker
попробуй $in = fopen($infile,"rb+");
или заменять не \n а \0
попробуй $in = fopen($infile,"rb+");
или заменять не \n а \0
Попробовал не помогает
\\0 пробовал тоже не помогает
Что за хрень?
Цитата:
Originally posted by seniorleo
Попробовал не помогает
\\0 пробовал тоже не помогает
Что за хрень?
Попробовал не помогает
\\0 пробовал тоже не помогает
Что за хрень?
\n\r, \r, \n. Поищи их ASCII коды.
а по-моему chr(20) - стандарт для перевода строки... ведь в разных ос перевод строки по разному может быть... от \r\n до \t\r... попробуй его...
Цитата:
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);
// а дальше так, как у тебя
$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, которая и выводится в файл.
Код может и кривой (я был уставший, и немножечко ... :) ), Но попробовать думаю стоит.
Код:
$file_content=str_replace("\n", '', $file_content);
$file_content=str_replace("\r", '', $file_content);
$file_content=str_replace("\r", '', $file_content);