Beispiel #1
0
assert($out === array(0 => 0, 1 => array(0 => '01')));
$s->posShift(2);
$out = $s->getNext(array('/\\d+/', '/\\s+/'));
assert($out === array(0 => 2, 1 => array(0 => ' ')));
$s->posShift(1);
$out = $s->getNext(array('/\\d+/', '/\\s+/'));
assert($out === array(0 => 3, 1 => array(0 => '23')));
$s->posShift(2);
// note we've skipped over the ;
$out = $s->getNext(array('/\\d+/', '/\\s+/'));
assert($out === array(0 => 6, 1 => array(0 => '45')));
$s->posShift(3);
$out = $s->getNext(array('/\\d+/', '/\\s+/'));
assert($out === array(0 => -1, 1 => null));
$s->reset();
$out = $s->getNextStrpos(array('1', ';'));
assert($out === array(0 => 1, 1 => '1'));
$s->posShift(2);
$out = $s->getNextStrpos(array('1', ';'));
assert($out === array(0 => 5, 1 => ';'));
$s->pos(6);
$out = $s->getNextStrpos(array('1', ';'));
assert($out === array(-1, null));
$s->reset();
$s->string('0123');
$rules = array('one' => '/1/', 'zero' => '/0/', 'digit' => '/\\d+/');
$out = $s->getNextNamed($rules);
assert($out === array('zero', 0, array('0')));
$s->posShift(1);
$out = $s->getNextNamed($rules);
assert($out === array('one', 1, array('1')));