нужна помощь в регулярном выражении а именно: Вот так скрипт работает в норме: Код (Text): function callbackFunction( $matches){ echo $matches[1]."\n"; echo $matches[2]."\n"; echo $matches[3]."\n"; } Код (Text): $pattern ='!\\[hide=([0-9,]+),user=(.+?)\\](.+?)\\[\\/hide\\]!is'; $subject ='[hide=3,user=test1,test2]rgqgefrefe[/hide]'; print_r(preg_replace_callback($pattern,'callbackFunction', $subject,-1)); Вывод 3 test1,test2 rgqgefrefe если же мы убираем в субъекте user, код не работает Код (Text): $subject ='[hide=3]rgqgefrefe[/hide]'; Мне нужно что бы хайд работал как с Код (Text): [hide=цифра,user=логин] , а так же по раздельности как [hide=1] так и [hide=login1,login2] и что бы результат был как 1 user1,user2 rgqgefrefe