[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Грамотное удаление тегов html
Воитель
К примеру есть строка:
У меня много новостей. Просто нью таймс Ghjcnj огромный нью таймс тут. ыы

Создаётся она в тини.
Я её обрезаю по нужной длине и в конце добавляю "..."

И тут есть проблема. Тини эту строку оформляет в тег <p></p>
И если строку обрезать то обрезается и тег. Что является не правильным.
Удалить все теги тоже нельзя т.к. есть слово веделенное жирным.



Спустя 51 минута, 49 секунд (25.03.2011 - 01:42) Nikitian написал(а):
strip_tags() Ну и не забывайте про второй параметр.

Спустя 1 час, 20 минут, 48 секунд (25.03.2011 - 03:03) Воитель написал(а):
Я наверно не правильно пояснил, есть строка, что в ней и какой длинны не известно, например:

<p>Это какой-то <b>очень</b> полезный, несомненно полезный текст, настолько полезный что резать не хочеться, но блин, надо. А то зараза не умещается.</p>


или


<p>Это какой-то очень полезный, несомненно полезный текст, настолько полезный что резать не хочеться, <b>но блин, надо. А то зараза не умещается.</b></p>


Я не знаю точно какая у меня строка, но знаю что должна обрезаться в N символом, конечно с учётом целостности слов.
И в итоге я должен получиться например:

<p>Это какой-то очень полезный, несомненно полезный текст, настолько полезный что резать не хочеться, <b>но блин,


И получается 2 незакрытых тега - что очень плохо.
Как обрезать строку и закрыть теги?

Спустя 7 минут, 2 секунды (25.03.2011 - 03:10) inpost написал(а):
Воитель
Можно напливать на правила верстки и засунуть этот участок в <div>, тогда верстка сайта не будет нарушена.
Можно ещё ужаснее сделать, в конце дива закрыть все известные теги =)
Можно прогнать строку регулярками на проверку незакрытого тега, тогда уже сам должен будешь пометить, какие теги ты проверяешь.

Спустя 3 минуты, 9 секунд (25.03.2011 - 03:13) Воитель написал(а):
Угадывать теги не охота. А я вот что ещё подумал. а если я тег img пополам распилю. То вообще гадость получиться.

Суть в том что мне нужно сделать короткую версию новости на сайте.

Спустя 10 минут, 47 секунд (25.03.2011 - 03:24) inpost написал(а):
Воитель
Переведи всё в ББ-теги, получишь:
[p]Это какой-то [ b]очень[ /b] полезный

Теперь обычные регуляркой парные теги замени. Примеры у нас на форуме есть, может и сам умеешь.
[p]Это какой-то <b>очень</b> полезный

А теперь ищи регуляркой непарные теги через preg_match_all "[(.*)]", все найденные в конце строки добавляешь в обратном порядке. В данном случае найдется "p", значит надо заменить на '</'.$search[1].'>';

Спустя 4 минуты, 23 секунды (25.03.2011 - 03:28) Воитель написал(а):
В сумме получиться не хилый алгоритм если ещё предусмотреть тег img.

Вроде понял как сделать. Спасибо.

Спустя 7 минут, 34 секунды (25.03.2011 - 03:36) inpost написал(а):
Воитель
А ты заменяешь < на [, и у тебя получится [img src, то есть незакрытый img, его ещё удалить, чтобы не мешался.


_____________
Вечно учусь.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.