1
0
mirror of https://github.com/php/php-src.git synced 2026-03-27 01:32:22 +01:00
Files
archived-php-src/ext/mbstring/tests/mb_ereg_replace_callback.phpt
ju1ius 8f1782678e adds support for named subpatterns to mb_ereg_replace
Named subpatterns are now passed to `mb_ereg_replace_callback`.

This commit also adds a subset of the oniguruma back-reference syntax
for replacements:
* `\k<name>` and `\k'name'` for named subpatterns.
* `\k<n>` and `\k'n'` for numbered subpatterns
These last two notations allow referencing numbered groups where n > 9.
2018-07-06 23:34:54 +02:00

24 lines
599 B
PHP

--TEST--
mb_ereg_replace_callback()
--SKIPIF--
<?php
extension_loaded('mbstring') or die('skip mbstring not available');
function_exists('mb_ereg_replace_callback') or die("skip mb_ereg_replace_callback() is not available in this build");
?>
--FILE--
<?php
$str = 'abc 123 #",; $foo';
echo mb_ereg_replace_callback('(\S+)', function ($m) {
return $m[1].'('.strlen($m[1]).')';
}, $str), "\n";
echo mb_ereg_replace_callback('(?<word>\w+) (?<digit>\d+).*', function ($m) {
return sprintf("%s-%s", $m['digit'], $m['word']);
}, $str), "\n";
?>
--EXPECT--
abc(3) 123(3) #",;(4) $foo(4)
123-abc