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

Форум Регулярные Выражения

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

 

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

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

тема: Вырез цитат
 
 автор: Shest   (28.02.2012 в 10:39)   письмо автору
 
 

Здравствуйте уважаемые форумчане. Нужно вырезать цитаты из текста. Т.к. цитаты могут быть и вложенные, то просто
$text= preg_replace("'\[cit\].*?\[/cit\]'si", "", $text); 
не подходит.
Что-то всю голову сломал. Может у кого-то есть готовая функция. Заранее спасибо

  Ответить  
 
 автор: dimonich2004   (28.02.2012 в 10:48)   письмо автору
 
   для: Shest   (28.02.2012 в 10:39)
 

Попробуйте переделать под себя....

<?php   
  $text 
'вот ссылка на ресурс : [hide]http://site.ru/image.jpg[/hide]  - спасибо за внимание!';   
  
$pattern '|\[hide\](.*?)\[/hide\]|is';  
  
$replacement 'для просмотра зарегистрируйтесь!';  
  
$text preg_replace($pattern$replacement$text);  
  echo 
$text;  
?> 

  Ответить  
 
 автор: Shest   (28.02.2012 в 10:58)   письмо автору
 
   для: dimonich2004   (28.02.2012 в 10:48)
 

У меня похожее выражение, но вложенные цитаты не вырезает. Тут надо что-то посерьёзнее

  Ответить  
 
 автор: Sfinks   (28.02.2012 в 11:08)   письмо автору
 
   для: Shest   (28.02.2012 в 10:39)
 

<?php

  
echo $text 'текст [cit]user1[cit]вложенная цитата[/cit]wbnfnf[/cit] тоже текст [cit]еще цитата[/cit] еще текст<br>';

  
$pattern =  "#\[cit\]((?!\[cit\]).)*?\[/cit\]#si";

  while( 
preg_match$pattern $text ) ) $text preg_replace$pattern "" $text );

  echo 
$text;

?>

  Ответить  
 
 автор: Shest   (28.02.2012 в 11:17)   письмо автору
 
   для: Sfinks   (28.02.2012 в 11:08)
 

Уф, ОГРОМНОЕ СПАСИБО. Я три дня медитировал, а оказалось всё так просто. Может у вас есть электронный кошелёк, я бы кинул денежку?

  Ответить  
 
 автор: Sfinks   (28.02.2012 в 13:09)   письмо автору
 
   для: Shest   (28.02.2012 в 11:17)
 

Соблазнительно конечно, но лучше не стоит =) Не для этого мы тут )))

  Ответить  
 
 автор: mihdan   (28.02.2012 в 11:13)   письмо автору
 
   для: Shest   (28.02.2012 в 10:39)
 

Тут стоит смотреть обработку BB-кодов.

  Ответить  
Rambler's Top100
вверх

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