Using $this when not in object context
| Bug #24403 | preg_replace problem: Using $this when not in object context | ||||
|---|---|---|---|---|---|
| Submitted: | 2003-06-30 06:34 UTC | Modified: | 2003-07-02 12:51 UTC | ||
| From: | michiel at parse dot nl | Assigned: | |||
| Status: | Closed | Package: | Scripting Engine problem | ||
| PHP Version: | 5.0.0b1 (beta1) | OS: | slack 9 | ||
| Private report: | No | CVE-ID: | None | ||
[2003-06-30 06:34 UTC] michiel at parse dot nl
Description:
------------
See reproduce code, error: Fatal error: Using $this when not in object context in /home/michiel/public_html/test.php(11) : regexp code on line 1
Reproduce code:
---------------
<?
class a
{
var $a = array();
function a()
{
$output = preg_replace(
'!\{\s*([a-z0-9_]+)\s*\}!sie',
"(in_array('\\1',\$this->a) ? '\'.\$p[\'\\1\'].\'' : '\'.\$r[\'\\1\'].\'')",
"{a} b {c}");
}
}
new a();
?>
Expected result:
----------------
Worked just fine in PHP4
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2003-07-02 12:51 UTC] zeev@php.net