HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 02.10.2008, 05:04
spamoney
Участник форума
Регистрация: 26.12.2006
Сообщений: 107
Провел на форуме:
228267

Репутация: 27
По умолчанию

Цитата:
Сообщение от spamoney  
Всем привет! Очень нужна ваша помощь!

Допустим есть текст:

Код:
<b>Привет</b>. <strong>Бла-бла-бла.</strong><tr><td>Текст - Текст - Текст</td></tr>
Хочу сделать предварительный просмотр новости, путём обрезания определенного кол-ва символов (например перевые 25 символов, не меньше!!!) от полной новости, но возникает несколько проблем:

1). Это не законченность предложения, хотелось что бы предложения новости обрезалось до точки.

т.е допустим у меня указано обрезать первые 25 символов, как можно сделать что б обрезалось не менее 25 первых символов до точки/восклицательного/вопросительного знака??

т.е должно получится так:

Код:
<b>Привет.</b> <strong>Бла-бла-бла.
,
а не так, т.к тут всего 10 символов:
Код:
<b>Привет.
2). При решении первой проблемы возникает другая, незакрытые тэги, при обрезании новости получается, что тэги, также обрезаются и оказываются не закрытыми

Как сделать, что бы, если тэг остался не закрытым то он бы обрезался??

т.е в конечном итоге мы должны получить такой текст предварительного просмотра:

Код:
<b>Привет</b>. Бла-бла-бла.
Если кто-нибудь сможет - помогите пожалуйста
Предложенный вариант от Gifts, работает, но немного не так

Цитата:
Сообщение от Gifts  
spamoney,
PHP код:
$str="<b>Привет</b>. <strong>Бла-бла-бла.</strong><tr><td>Текст - Текст - Текст</td></tr>";
preg_match('#^([\s\S]{25}[^\!\.\?]*)[\.\!\?]#i',strip_tags($str),$match);
echo 
$match[1]; 
1.) Допустим если я меняю текст на (т.е после 25 символов нет точки/вопроса/восклицания):

Код:
<b>Привет</b>. <strong>Бла-бла-бла</strong> <tr><td>Текст - Текст - Текст</td></tr>
то вылазит ошибка:

Код:
Notice: Undefined offset: 1 in z:\***\www\script.php on line 12
тогда уж если нет точки/вопроса/восклицания, то пусть просто обрезает не менее 25 символов и до конца слова, т.е так:

Код:
<b>Привет</b>. <strong>Бла-бла-бла
2.) Нужно обрезеать не все тэги, а только незакрытые, т.е так:

Код:
<b>Привет</b>. Бла-бла-бла
Можно ли как нибудь всё это реализовать???
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ