Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Разбить текст, по запятым
Форумы портала PHP.SU » PHP » Регулярные выражения » Разбить текст, по запятым

Страниц (1): [1]
 

1. Няшик - 20 Февраля, 2016 - 14:42:10 - перейти к сообщению
Нужно регулярными условиями создать похожий алгоритм
PHP:
скопировать код в буфер обмена
  1. $Scob = false;
  2. foreach(str_split('p f, dd*(erge, erg), hrth') as $v) {
  3.     if($v == '(')
  4.         $Scob = true;
  5.     elseif($v == ')')
  6.         $Scob = false;
  7.  
  8.     if($v == ',' and !$Scob) {
  9.         $ArgsI++;
  10.     } else
  11.         $ArgPars[$ArgsI] .= $v;
  12. }
  13.  
  14. print_r($ArgPars);


Результат
CODE (htmlphp):
скопировать код в буфер обмена
  1. (
  2.     [] => p f
  3.     [1] =>  dd*(erge, erg)
  4.     [2] =>  hrth
  5. )
  6.  


Дело в том что я вообще не представляю как такое провернуть регулярными условиями, хотя с рекурсией знаком на среднем уровне Огорчение
2. Няшик - 20 Февраля, 2016 - 16:54:06 - перейти к сообщению
Помогли, http://vk[dot]com/wall-175_172970?reply=173000
3. MAXUS - 20 Февраля, 2016 - 22:51:05 - перейти к сообщению
Няшик пишет:
хотя с рекурсией знаком на среднем уровне Огорчение


До третьего уровня вложенности? Улыбка

 

Powered by ExBB FM 1.0 RC1