Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Работа с текстом
 
 автор: JIEXA   (23.06.2005 в 23:52)   письмо автору
 
 

Как в тексте найти данные помещанные в спец теги [vip][/vip]?
Вот мне нудно типа этого:


текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
[vip]
if(!iMEMBER)
{
print "для просмотра этой инфы вам нужно зарестрироваться...";
}
else
{
# выводится текст помещанный в теги [vip][/vip]
}
[/vip]



Просто я хочу сделать, чтобы НЕ зарегистрированные пользователи НЕ могли просматривать текст помещанный в теги [vip][/vip]..

   
 
 автор: isset   (23.06.2005 в 23:55)   письмо автору
 
   для: JIEXA   (23.06.2005 в 23:52)
 

preg_match_all + preg_replace

/\[vip\](.*)\[\/vip\]/i

   
 
 автор: JIEXA   (24.06.2005 в 00:06)   письмо автору
 
   для: isset   (23.06.2005 в 23:55)
 

isset не братишка, я совсем что-то уже не чего не соображаю (с девушкой пробблемы, я не очем думать немогу, кроме как о ней...) может дашь готовый вариант кода?

   
 
 автор: cheops   (24.06.2005 в 01:51)   письмо автору
 
   для: JIEXA   (24.06.2005 в 00:06)
 

isset имеет ввиду что-то вроде следующего
<?php
  $text 
'текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
[vip]if(!iMEMBER)
{
print "для просмотра этой инфы вам нужно зарестрироваться...";
}
else

# выводится текст помещанный в теги
}[/vip]'
;

// Для неавторизованных посетителей
// echo preg_replace('#\[vip\]([^\[]*)\[\/vip\]#iU','',$text);
// Для авторизованных посетителей
echo preg_replace('#\[vip\]([^\[]*)\[\/vip\]#iU',"\${1}",$text);
?>

   
 
 автор: isset   (24.06.2005 в 02:22)   письмо автору
 
   для: cheops   (24.06.2005 в 01:51)
 

Да, только:

<?php
  $text 
'текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
[vip]if(!iMEMBER)
{
print "для просмотра этой инфы вам нужно зарестрироваться...";
}
else
{
# выводится текст помещанный в теги
}[/vip]'
;

// Для неавторизованных посетителей
// echo preg_replace('#\[vip\](.*)\[\/vip\]#iU','',$text);
// Для авторизованных посетителей
echo preg_replace('#\[vip\](.*)\[\/vip\]#iU',"\${1}",$text);
?> 


Иначе будут проблемы с текстом типа:


  $text = 'текст текст текст
текст текст текст
текст текст текст
[vip]Массив a[mm], жирно! [/vip]';

   
 
 автор: JIEXA   (24.06.2005 в 19:19)   письмо автору
 
   для: isset   (24.06.2005 в 02:22)
 

Спасибо, но не много вы меня не понили...
Текст будет выгледить так:
<?
$text = 'текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
текст текст текст
[vip]
этот текст видят только зарегистрированные...
[/vip]
тут всякий текст, который видят все...';
?>

вот как бы [vip] означает:

if(!iMEMBER) 

print "для просмотра этой инфы вам нужно зарестрироваться..."; 

else 
{
print " 

а [/vip]

";
}

   
 
 автор: cheops   (24.06.2005 в 21:54)   письмо автору
 
   для: JIEXA   (24.06.2005 в 19:19)
 

А почему бы не сделать следущим образом
<?php
if(!iMEMBER

 echo 
preg_replace('#\[vip\]([^\[]*)\[\/vip\]#iU','Для просмотра этой информации вам необходимо зарегистрироваться',$text);

else 

echo 
preg_replace('#\[vip\]([^\[]*)\[\/vip\]#iU',"\${1}",$text);
}
?>

   
 
 автор: JIEXA   (25.06.2005 в 22:59)   письмо автору
 
   для: cheops   (24.06.2005 в 21:54)
 

А если текст не заключен в [vip] то он не отображается вообще :(

   
 
 автор: cheops   (26.06.2005 в 00:26)   письмо автору
 
   для: JIEXA   (25.06.2005 в 22:59)
 

Хм... странно, не должно бы - приведите кусок сбойного текста.

   
 
 автор: method   (26.06.2005 в 02:06)   письмо автору
 
   для: cheops   (26.06.2005 в 00:26)
 

ээээ... извеняюсь канеш за вмешательство, но почему бы не сделать это
всё при помощи сессий? я вот не врубился почему тебе надо показывать
текст зарег.пользователям, и ещё к этому тексту применять
preg_replace....
а с сессиями как хорошо=), проверил на наличие
определенных переменых в супГ.массиве, а там уже
в зависимости от присутсвия онного или отсутствия
выводи чё хочеш, и кому хочеш...=)

   
 
 автор: JIEXA   (26.06.2005 в 12:15)   письмо автору
 
   для: cheops   (26.06.2005 в 00:26)
 

Текст текст текст
[vip]а тут для зарегененых...[/vip]
екст текст текст
[vip]Только для VIP :)[/vip]
текст текст

   
 
 автор: JIEXA   (26.06.2005 в 12:18)   письмо автору
 
   для: JIEXA   (26.06.2005 в 12:15)
 

Все работает, это я ступил... Спасибо

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования