```
class someClass
{
    public function truncate($content, $amount = false)
    {

        if (!$amount || preg_match_all("/\s+/", $content, $junk) <= $amount) return $content;

        $content = preg_replace_callback("/(<\/?[^>]+\s+[^>]*>)/", array($this, '_shield'), $content);

        ......

        return $truncate;
    }

    ... 

    private function _shield($matches)
    {
        return preg_replace("/\s/", "\x01", $matches[0]);
    }

    ...

    private function _unshield($strings)
    {
        return preg_replace("/\x01/", " ", $strings);
    }

    ...
}

```

According to [PHP Manual](https://www.php.net/manual/en/function.preg-replace-callback.php), the 2nd parameter of `preg_replace_callback` should be a handler function, in the above code it is `array($this, '_shield')`, which I believe returns one of the class's private functions "\_shield". Can someone explain to me why `array(class,privateFunctionName)` would return the private function? Is there a PHP manual page regarding this?