Вывести обрезанный текст с учетом присутствующих в нём html-тэгов

vladax

Новичок
Вывести обрезанный текст с учетом присутствующих в нём html-тэгов

Как бы мне решить такую задачку...

Вообщем, допустим, я разрешаю при вводе использовать некоторые html-теги strip_tags($var, "<p><b><a><font>");

Пишу данные, допустим, в файло, получается строка, ну например:
<p>- А <b>Саламон Абрамович</b> дома?</p><p><font color=red>- Да, дома. Но венки уже уносят.</font></p>

Нужно сделать следующее:
1. обрезать строку допустим на 21 символов (но без учета хтмл-тегов!!!). Т.е. чтоб получилась строка
- А Саламон Абрамович
2. Вывести оставшуюся часть строки с учетом присутствующих в ней тегов.

1-й пункт задачи можно выполнить с использованием strip_tags, но это убьёт все хтмл теги навсегда и до 2-го мы так и не доберемся.

Вот собственно задачка не для слабонервных... :-(
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Строишь парсинг строки, например, роботом (http://detail.phpclub.net/2002-11-29.htm)
и считаешь кол-во символов, которые тебе нужны, в ходе парсинга.

Или же я писал скрипт парсинга HTML-тегов по словам (не факт, что быстрее, не измерял).

Потом остальное обрабатываешь как хочешь.
 
Сверху