outputcodice:<? function recursiveSplit($string, $layer) { $err = preg_match_all("/\{(([^{}]*|(?R))*)\}/",$string,$matches); echo "Elementi trovati: $err "; if($err == FALSE) echo "preg_match_all ERROR "; // iterate thru matches and continue recursive split if (count($matches) > 1) { for ($i = 0; $i < count($matches[1]); $i++) { if (is_string($matches[1][$i])) { if (strlen($matches[1][$i]) > 0) { echo "<pre>Layer ".$layer.": ".$matches[1][$i]."</pre> "; recursiveSplit($matches[1][$i], $layer + 1); } } } } } $buffer = "{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa{aaaaaaaaaaaaaaaaaa{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}"; recursiveSplit($buffer, 0);
questo codice mi da come errore PREG_BACKTRACK_LIMIT_ERROR... eppure il limite è settato a 100.000.000codice:Elementi trovati: preg_match_all ERROR Backtrack limit was exhausted!![]()
sono molto scarso con le regex, è la prima volta che le uso e questo errore mi sta uccidendo!![]()
grazie

Rispondi quotando