[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: создаем тег more
Crэker
Сколько не искал, не смог найти хоть более или менее нормальной статьи, как сделать это.
идея такая - в цикле при выводе поста прегматчить его на предмет наличия тега more
а выглядеть он будет так [more] -> заменяться на читать далее, или [more=свой текст] -> ну тут понятно все.
нормальная идея прегматчить посты в цикле?
как я не боролся с регулярками, все никак не добью, поэтому помогите получить в переменную тот самый текст, который вместо "свой текст", либо его отсутствие и текст поста, до самого тега море, его-то я и буду выводить.
спасибо друзья энтузиасты молодцы

_____________
Если есть желание стать соразработчиком инновационного сервиса онлайн дневников, с нетерпением жду вас в личке)
kirik
Помучайся еще, регулярки это дело такое.. Покажи чем мучался, и объясни, почему ты мучался этим путем smile.gif
Joker
Цитата (kirik @ 19.10.2009 - 22:50)
Помучайся еще, регулярки это дело такое.. Покажи чем мучался, и объясни, почему ты мучался этим путем


у него в аватарке блок схема как он мучался)))
Crэker
Ну блин, я же серьезно
сделайте все за меня, не заставляйте мучаться:)

_____________
Если есть желание стать соразработчиком инновационного сервиса онлайн дневников, с нетерпением жду вас в личке)
FatCat
Здесь это сделано просто:

PHP
$txt preg_replace"#\[more=(.*?)\](.*?)\[\/more\]#is""<!--spoilerstart--><div class='sp-wrap'><div class='sp-head-wrap'><div class='sp-head folded clickable'><b><u>\\1</u></b></div></div><div class='sp-body'><div class='sp-content'>\\2</div></div></div><!--spoilerstend-->"$txt );

HTML
.sp-body { border: 1px solid Gray; display: none; font-weight: normal; background: #F5F5F5; border-top-width: 0; }
.clickable { cursor: pointer; }
.sp-content{margin-left: 10px;}
.folded { display: block;text-align: left;
background: transparent url(style_images/1/plus.gif) no-repeat left center; padding-left: 14px; }
.unfolded { display: block;
background: transparent url(style_images/1/minus.gif) no-repeat left center; padding-left: 14px; }

Джаваскрипт взят из IQuery...

_____________
Бесплатному сыру в дырки не заглядывают...
Crэker
Цитата
Джаваскрипт взят из IQuery...

а где здесь javascript?

_____________
Если есть желание стать соразработчиком инновационного сервиса онлайн дневников, с нетерпением жду вас в личке)
Crэker
PHP
$text 'Hi. Hello begin [more] hiden end';
$txt preg_replace"#\[more=(.*?)\](.*)#is""<ul><li><b>\\1</b></li></ul>"$text );
$txt preg_replace"#\[more\](.*)#is""<ul><li><b>read more...</b></li></ul>"$txt );
echo 
$txt;


я вот так сделал. в кто-нибудь может сделать это с одним прегматчем?

_____________
Если есть желание стать соразработчиком инновационного сервиса онлайн дневников, с нетерпением жду вас в личке)
glock18
Код
"#\[more=(.*?)\](.*)#is"
"#\[more\](.*)#is"


=> что-то типа

Код
"#\[more(=(.*?))?\](.*)#is"

Crэker
Цитата
"#\[more(=(.*?))?\](.*)#is"

так дело в том, что если текста нет - вставлять надо читать далее

_____________
Если есть желание стать соразработчиком инновационного сервиса онлайн дневников, с нетерпением жду вас в личке)
Быстрый ответ:

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