Удаление тегов html

jenia

Новичок
Удаление тегов html

Помогите пожалуйста! Написал такой простейший скрипт:

PHP:
$file = fopen("1-1.html","r");
$fs = filesize("1-1.html");
  if(!file)
    {
      echo("Ошибка открытия файла");
    }
    else
    {
      $buff = fgetss ($file, $fs);
      print $buff;
    }
fclose($file);
Он должен читать информацию из html файла, удалять из неё теги html и отображать текст без тегов на экран. Но отображения не происходит. В чём ошибка?
 
Попробуй вот это... strip_tags();
+ мож проще читать весь файл в массив( file() )?
 

antiportal

Guest
Почему бы не
PHP:
echo(strip_tags(file_get_contents('1-1.html')));
 

SelenIT

IT-лунатик :)
Ошибка в том, что fgetss прекращает чтение, когда считает заданное число символов или достигнет конца строки - что случится раньше. В данном случае, очевидно, строка кончится быстрее. А первая строка html-файла обычно состоит из одного тега, поэтому результат - пустая строка.
 

jenia

Новичок
Действительно fgetss читает только первую строку. В ней только теги html, которые удаляются, и выводится пустая строка. Но как сделать, чтобы читался весь текст?
 

SelenIT

IT-лунатик :)
либо вариант antiportalа, либо читать построчно в цикле до конца файла.
 

jenia

Новичок
Написал в цикле. Но комп при его выполнении просто виснет. Что не правильно?

$file = fopen("1-1.htm","r");
$fs = filesize("1-1.htm");

if(!file)
{
echo("Ошибка открытия файла");
}
else
{

while (!feof($file)) :

$buff = fgetss ($file, $fs);
print $buff;

endwhile;

}
fclose($file);
 

Дед

Guest
замени fgetss на fread

а при печати поубирай тэги
print strip_tags($buff);
 

jenia

Новичок
Испробовал все предложенные варианты. Ни один не работает.
 

jenia

Новичок
Ошибок не возникает. Просто на экран ничего не выводится, а по идее должно.
 

antiportal

Guest
jenia
Даже, если использовать file_get_contents?
Забудь про эту fgetss. Если очень хочется цикл, то file+strip_tags.
PHP:
$lines = file('1-1.htm');
foreach($lines as $line) {
    echo(strip_tags($line)."<br />\n");
}
 

jenia

Новичок
Последний вариант работает. Большое спасибо. Дело в том, что вариант с fgetss у меня тоже когда-то работал, но я начал что-то переделывать и всё испортил. Ещё раз спасибо за помощь.
 

jenia

Новичок
Последний вариант работает. Большое спасибо. Дело в том, что вариант с fgetss у меня тоже когда-то работал, но я начал что-то переделывать и всё испортил. Ещё раз спасибо за помощь.
 

jenia

Новичок
Последний вариант работает. Большое спасибо. Дело в том, что вариант с fgetss у меня тоже когда-то работал, но я начал что-то переделывать и всё испортил. Ещё раз спасибо за помощь.
 

jenia

Новичок
Последний вариант работает. Большое спасибо. Дело в том, что вариант с fgetss у меня тоже когда-то работал, но я начал что-то переделывать и всё испортил. Ещё раз спасибо за помощь.
 

jenia

Новичок
Последний вариант работает. Большое спасибо. Дело в том, что вариант с fgetss у меня тоже когда-то работал, но я начал что-то переделывать и всё испортил. Ещё раз спасибо за помощь.
 
Сверху