Показать сообщение отдельно
Старый 20.11.2004, 13:37     # 5
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Boxa:
А вообще все, как я понял, упирается в регулярку. Может кто подкинуть. а то я пока не очень в них шарю...
Дело в том что я действительно решал подобную задачу, как правильно заметил RaZEr, и действительно одним из универсальных решений можно считать фрейм, тогда в нем браузер сам автоматически закрывает все не закрытые теги в нужном порядке.

Но известные неудобства такого подхода всем известны, поэтому конечно лучше это делать регой, но тогда возникает немного другая проблема: в общем случае, даже если все открытые теги в порядке их открытия грамотно закрыть, то может получиться ерунда полная (например это крайне актуально с таблицами), да и потом, если подобная обрезка идет точно по количеству символов, то может получиться что обрезано будет по какому-то тегу, соответственно он появится в тексте, как "лишний" текст. Вобщем чтобы все это сделать абсолютно универсальным, для любого HTML-кода, придется писать анализатор текста, схожий с тем что имеется в браузере....
Из всего этого я сделал вывод что RaZEr отчасти прав, теги там не нужны, тоесть нужны, но отнюдь не все, и совсем не в полном объеме. Просто нужно оставить заведомо "безопасные" и "необходимые" (их набор из задачи конкретной), например <b>, <i>, <h1-6>, <u>, <a> и оставлять только их, вырезая остальные (это легко делается указанием allowable_tags в функции strip_tags). В этом случае, чаще всего вид текста практически не портится в этом маленьком куске, и в месте с тем ничего не развалится в основном документе. И закрыть их не будет никакой проблемы одной единственной регой...
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума