![]() |
|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]()
|
|
| Alek74 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
Делаю так:
Выводит естественно страничку отформатированную html. Но, есть один момент, может я изначально не правильно действую. Нужно прочтать содержимое файла, заменить все теги на знаки переноса и вывести содержимое в виде текстового файла. Вот пример. Использовать такую функцию мне посоветовали.
Может это вообще работать не будет Точнее это работает как указано выше. Это сообщение отредактировал(а) Alek74 - 24.3.2006, 18:42 --------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
||||
|
|||||
| DemoCode |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 890 Регистрация: 20.10.2005 Где: Россия Репутация: 1 Всего: 41 |
А чем функция htmlentities() не подходит?
-------------------- Жить стало лучше, жить стало веселей © И.В. Сталин |
|||
|
||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: нет Всего: 67 |
Alek74, тебе посоветовали чушь. Делай так:
|
|||
|
||||
| Alek74 |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
Да. Вариант работает, но только не так как надо. Выводиться текст вместе с тегами. А задача заменить теги на знаки переноса и отступы. Нужен на выходе текст вида
Это сообщение отредактировал(а) Alek74 - 24.3.2006, 19:10 --------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
||||||
|
|||||||
| DemoCode |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 890 Регистрация: 20.10.2005 Где: Россия Репутация: 1 Всего: 41 |
Не понимаю, а тебе как надо. Если без тэгов, так $text = strip_tags ($text); -------------------- Жить стало лучше, жить стало веселей © И.В. Сталин |
|||
|
||||
| Alek74 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
Нужна конвертация на лету html в txt.
Т.е. надо заменить теги текстовым форматированием. Убрать все лишнее. Это сообщение отредактировал(а) Alek74 - 24.3.2006, 19:18 --------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
|||
|
||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 6 Всего: 69 |
Ну тебе же уже сказали:
-------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| Alek74 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
Ерунда какаята получаеться. Выводит почему-о с тегами.
Все, понял. Надо зарезать $content = htmlspecialchars($content, ENT_QUOTES); Пардон, не увидел сообщение снизу. Это сообщение отредактировал(а) Alek74 - 24.3.2006, 20:27 --------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 2 Всего: 137 |
|
|||
|
||||
| Alek74 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
Это все не выход. Нужно сконвертировать html в txt.
Объясню зачем. У меня в локальной сети довольно большая библиотека. Более 25 тыс+ 4 раза по столько не сортировано файлов html. Меня просят сделать возможность скачивать файлы в txt формате для КПК. Вот и нужно сделать конвертацию на лету. --------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
|||
|
||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: нет Всего: 67 |
Тогда бери ту функцию (html_to_text) и дорабатывай — добавляй нужные реги для преобразования. А вообще чем не устраивает последний предложенный вариант? Преобразовал файл, добавь ещё создание нового файла и запиши в новый файл преобразованный текст. Это сообщение отредактировал(а) Ciber SLasH - 24.3.2006, 21:10 |
|||
|
||||
| Alek74 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
Так последний вариант преобразует в текст без форматирования. Попробу почитать такой текст. Можно конечно попробовать преобразовыват по построчно . И так же его записать построчно в файл.
Причем заголовок выводиться как часть текста файла:
Жирно выделен заголовок. Это сообщение отредактировал(а) Alek74 - 24.3.2006, 22:18 --------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
||||
|
|||||
| Alek74 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
Может есть готовое решение для конвертации. Или я просто не правильно выбрал подход для решения проблемы?
--------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
|||
|
||||
| ZlojEzh |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 8.10.2005 Где: Киев, Украина Репутация: 2 Всего: 15 |
||||
|
||||
| Serkys |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1061 Регистрация: 19.4.2004 Репутация: 2 Всего: 22 |
В php5 есть функция htmlspecialchars_decode, она делает то, что тебе нужно.
Вот моя самописная (для себя делал, сейчас подправил немного):
Делал её для действия, обратного nl2br() и htmlspecialchars(). З.Ы. При первом взгляде на этот топик возникает ощущение, что никто не вдумался в вопрос, но все сразу бросились отвечать, ссылаясь на некорректность вопроса. Такое ИМХО. |
|||
|
||||
| Alek74 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
В общем я либо что то не так делаю, либо ...
Эти два класса работают у меня так же как и strip_tags() Просто удаляют все теги в тексте. А не форматирует в конечный текст. Куча-мала получаеться. Это сообщение отредактировал(а) Alek74 - 26.3.2006, 17:18 --------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
|||
|
||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: нет Всего: 67 |
Alek74, вот к маленький пример:
только получается много пустых строк на том месте, где кроме тэгов ничего текстового не было. |
|||
|
||||
| Alek74 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
Нет. Получаеться, что главы в нем в виде одной строки. Т.е. если между абзацами стоит пустая строка, то этот абзац представляеться в виде одной строки. Это можно посмотреть открыв текстовой файл в браузере.
А абзацы, не имеющие между собой пропуска выстраиваються в один абзац. Пример:
Выглядит так
Но это уже прогресс!!!. До этого был вообще один абзац! Это сообщение отредактировал(а) Alek74 - 27.3.2006, 09:46 --------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
||||
|
|||||
| Alek74 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
Попробовал использовать это так:
Выдает текст без абзацев. Добавлено @ 21:26 У меня создаеться устойчивое впечатление, что я не правильно все делаю. Это сообщение отредактировал(а) Alek74 - 27.3.2006, 21:22 --------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
|||
|
||||
| Serkys |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1061 Регистрация: 19.4.2004 Репутация: 2 Всего: 22 |
||||
|
||||
| Alek74 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
А куда именно?
Так не помогает. И наоборот тоже. Это сообщение отредактировал(а) Alek74 - 28.3.2006, 05:09 --------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
|||
|
||||
| Alek74 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
Задача усложняеться тем, что файлы помимо html содержат таблицы стилей, а они таким метедом не вырезаються.
Я не могу понять одного - Вот есть два класса, в том числе с использованием парсера. Они у меня работают так же как и все остальные методы. Т.е. вырезают теги из html, но это можно сделать и с помощью функций пхп. Вопрос - неужели люди писали все это только для того чтобы вырезать теги? У меня создаеться впечатление, что я их не правильно использую. Но там есть рекомендации и я им следую. Вот что пишет автор первого парсера
Вот пример его использования(авторский) [code=php] <? include ("html2text.inc"); $htmlText = "... HTML text here ..."; $asciiText = new Html2Text ($htmlText, 15); // 15 columns maximum $text = $htmlToText->convert(); echo "Converted to: " . $text; ?> Все сделал как рекомендовано А при запуске пишет:
Это сообщение отредактировал(а) Alek74 - 28.3.2006, 09:20 --------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
||||
|
|||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 6 Всего: 69 |
Я что-то не вижу, где у тебя создается экземпляр объекта $htmlToText !
-------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| Alek74 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
А в каком виде надо присваивать экземпляр? Это должен быть объект или массив? С терминологией у меня плоховато Это сообщение отредактировал(а) Alek74 - 28.3.2006, 10:03 --------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
|||
|
||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 6 Всего: 69 |
-------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| Alek74 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
А в качестве объекта может выступать путь к файлу?
--------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
|||
|
||||
| -=Ustas=- |
|
||||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 6 Всего: 69 |
Alek74, какой еще путь?! Можно так:
файл object.php
Файл other.php
Это сообщение отредактировал(а) -=Ustas=- - 28.3.2006, 11:15 -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
||||
|
|||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: нет Всего: 67 |
Alek74, вот, надыбал неплохую функцию (кстати, шла первой ссылкой в Гугле):
html2text.inc:
|
|||
|
||||
| Serkys |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1061 Регистрация: 19.4.2004 Репутация: 2 Всего: 22 |
Ciber SLasH, блин, сильная функция.
Глаза вспотели читать Alek74, советую попробовать. |
|||
|
||||
| Alek74 |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
Если сделать с этой функцией так:
То строки
выводяться так:
--------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
||||||
|
|||||||
| Serkys |
|
||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1061 Регистрация: 19.4.2004 Репутация: 2 Всего: 22 |
Попробуй так:
А вообще странно. Теги
должны выводиться без перехода строки между ними:
|
||||||
|
|||||||
| Alek74 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
Кажеться я понял, что дурак.
В браузере все и должно выводиться в одну строку/абзац. Мы же передаем ему текст без тегов. И эткуда ему знать, что это именно текст? Нужно попробовать записать это все в файл и посмотреть именно этот файл. --------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
|||
|
||||
| ZlojEzh |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 8.10.2005 Где: Киев, Украина Репутация: 2 Всего: 15 |
просто укажи браузеру тип содержимого :
|
|||
|
||||
| Alek74 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
В общем я был прав - я дурак. Есои указать тип содержимого, то все работает.
Буду пробовать с применением классов. --------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Тексты | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |