@@ 312-338 (lines=27) @@ | ||
309 | $inputChars = static::utf8StringToChars($input); |
|
310 | $state = 'non'; |
|
311 | $newstate = $state; |
|
312 | foreach ($inputChars as $char) { |
|
313 | switch ($char) { |
|
314 | case '0': |
|
315 | case '1': |
|
316 | case '2': |
|
317 | case '3': |
|
318 | case '4': |
|
319 | case '5': |
|
320 | case '6': |
|
321 | case '7': |
|
322 | case '8': |
|
323 | case '9': |
|
324 | $newstate = 'digit'; |
|
325 | break; |
|
326 | default: |
|
327 | $newstate = 'non'; |
|
328 | break; |
|
329 | } |
|
330 | if ($newstate !== $state) { |
|
331 | if ($newstate === 'digit') { |
|
332 | $pieces[++$pieceIndex] = $char; |
|
333 | } |
|
334 | $state = $newstate; |
|
335 | } elseif ($state === 'digit') { |
|
336 | $pieces[$pieceIndex] .= $char; |
|
337 | } |
|
338 | } |
|
339 | ||
340 | foreach ($pieces as $i => $piece) { |
|
341 | $piece = (int) ltrim($piece, '0'); |
|
@@ 419-445 (lines=27) @@ | ||
416 | $inputChars = static::utf8StringToChars($input); |
|
417 | $state = 'non'; |
|
418 | $newstate = $state; |
|
419 | foreach ($inputChars as $char) { |
|
420 | switch ($char) { |
|
421 | case '0': |
|
422 | case '1': |
|
423 | case '2': |
|
424 | case '3': |
|
425 | case '4': |
|
426 | case '5': |
|
427 | case '6': |
|
428 | case '7': |
|
429 | case '8': |
|
430 | case '9': |
|
431 | $newstate = 'digit'; |
|
432 | break; |
|
433 | default: |
|
434 | $newstate = 'non'; |
|
435 | break; |
|
436 | } |
|
437 | if ($newstate !== $state) { |
|
438 | if ($newstate === 'digit') { |
|
439 | $pieces[++$pieceIndex] = $char; |
|
440 | } |
|
441 | $state = $newstate; |
|
442 | } elseif ($state === 'digit') { |
|
443 | $pieces[$pieceIndex] .= $char; |
|
444 | } |
|
445 | } |
|
446 | ||
447 | foreach ($pieces as $i => $piece) { |
|
448 | $piece = (int) ltrim($piece, '0'); |