mirror of
https://github.com/php/php-src.git
synced 2024-09-23 10:57:26 +00:00
- Fix the fix (wrong behavior)
This commit is contained in:
parent
aa3d81686f
commit
590ad22361
@ -1795,7 +1795,7 @@ SPL_METHOD(RegexIterator, accept)
|
||||
break;
|
||||
|
||||
case REGIT_MODE_REPLACE:
|
||||
replacement = zend_read_property(intern->std.ce, intern->inner.zobject, "replacement", sizeof("replacement")-1, 1 TSRMLS_CC);
|
||||
replacement = zend_read_property(intern->std.ce, getThis(), "replacement", sizeof("replacement")-1, 1 TSRMLS_CC);
|
||||
result = php_pcre_replace_impl(intern->u.regex.pce, subject, subject_len, replacement, 0, &result_len, -1, &count TSRMLS_CC);
|
||||
|
||||
if (intern->u.regex.flags & REGIT_USE_KEY) {
|
||||
|
@ -9,23 +9,23 @@ class foo extends ArrayIterator {
|
||||
'test1'=>'test888',
|
||||
'test2'=>'what?',
|
||||
'test3'=>'test999'));
|
||||
$this->replacement = '[$1]';
|
||||
}
|
||||
}
|
||||
$h = new foo;
|
||||
$i = new RegexIterator($h, '/^test(.*)/', RegexIterator::REPLACE);
|
||||
$h->replacement = '[$0]';
|
||||
$i->replacement = '[$0]';
|
||||
foreach ($i as $name=>$value) {
|
||||
echo $name . '=>' . $value . "\n";
|
||||
}
|
||||
|
||||
$h->replacement = '$1';
|
||||
$i->replacement = '$1';
|
||||
foreach ($i as $name=>$value) {
|
||||
echo $name . '=>' . $value . "\n";
|
||||
}
|
||||
|
||||
$h = new foo;
|
||||
$i = new RegexIterator($h, '/^test(.*)/', RegexIterator::REPLACE);
|
||||
$i->replacement = '[$1]';
|
||||
foreach ($i as $name=>$value) {
|
||||
echo $name . '=>' . $value . "\n";
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user