Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Регулярные выражения > удалить участок текста


Автор: gcc 21.9.2010, 16:07
не получается удалить участок текста

нужно удалить все эти теги у которых внутри пробел  

Код

   

   

   

   

   

   

   

   



никак не работает:
Код
       $bbcode =~ s/\[b\]([\s]+)\[\/b\]//gsi; 


тут мешают как я понял символы:
Код
 [][] 

...без них работает!


а как тут удалить?
как это исправить  $bbcode =~ s/\[b\]([\s]+)\[\/b\]//gsi; пробовал 100 раз, какого-то не работает...





Автор: gcc 21.9.2010, 17:55
Код

use Devel::Peek;
print Dump ($out_bb);


Devel::Peek; написал что там какой-то левый символ вродебы...

Код

 \240 


т.е. между тегами есть пробел, но тм еще стоит и симовол какйо-то \240

решил так:
Код

       $out_bb =~ s/\[b\](\s+\240\s+)\[\/b\]//gi; 


Автор: Logo 22.9.2010, 21:08
Попробуйте использовать \p{Zs}. \240 это неразрывный пробел,  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)