Обработка текста с html тегами.

Статус
В этой теме нельзя размещать новые ответы.

Petja

Новичок
Обработка текста с html тегами.

Конкретная задача: есть текст с html тегами, не смотря на теги надо отсчитать 30 (например) слов по пробелам, вставить фразу после 30-го слова. Подобных задач много, а я никак не догоню схему работы... Новичек я...
Т.е. тут можно так:
PHP:
$novost = strip_tags($novost);
$novost_arr = explode(" ", $novost);
$novost_arr[$words_under_cut - 1] .='... <!--more--> <br />';
$novost = implode(" ", $novost_arr);
Вставляется "... <!--more--> <br />", но теги теряются.
Как сделать - чтоб убрать теги, отсчитать и потом проставить их по местам?
Помогите, пожалуйста... Я совершенно по нулям - чтобы даже понять примерно как это сделать...
 

DiMA

php.spb.ru
Команда форума
регом выделяешь все блоки типа <style|script|opbject и т.д. и шифруешь методом
регом выделяешь все открывающие/закрывающие теги и делаешь

метод: шифрование в реге: "**".base64_encode($text) (а две звездочки - спец. флаг)

итого 1,2,3 - это 2 команды preg_replace с модификатором e (изучаем что это)

теперь в тексте осталось через preg_match_all и поиск всех слов, не начинающихся с **, прогнать в твоем цикле
preg_match_all должен выдвать не сами найденные слова, а их позции, иначе ниже может быть проблема с заменой (str_replace не используй)
взять позиции 30 элемента (рег тебе выдаст начало и конец 30-го слова) и через substr() сделать замену, дописав MORE

еще одним регом с модификатором e все строки с ** прогоняешь через base64_decode

всего будет строк 8 в программе:
рег тегов
рег тегов
рег слов
цикл {
с заменой
}
рег тегов
 

fixxxer

К.О.
Партнер клуба
Что-то говносеошников тут развелось слишком много.
 

Petja

Новичок
Автор оригинала: DiMA
всего будет строк 8 в программе:
рег тегов
рег тегов
рег слов
цикл {
с заменой
}
рег тегов
Спасибо, примерно понял схему. Не понял про закрытие - открытие...
Буду думать... :)

-~{}~ 02.03.09 00:40:

Автор оригинала: fixxxer
Что-то говносеошников тут развелось слишком много.
Таких как вы - всегда было немеряно.
 

Фанат

oncle terrible
Команда форума
Тема закрыта.

Проблемы личного характера и бессмысленные споры между участниками не являются предметом обсуждения форума.
Обсуждайте их в привате.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху