title: replacing multiple matches in preg_replace_callback
body: <p>I have a string which reads foo_bar_one, what I am trying to achieve is </p>
  
  <p>foo_Bar_One, using this regex <code>/(?&lt;=_)./</code> I tried to implement a <code>preg_replace_callback</code> but it is not working as supposed else I have misunderstood the functionality of the function.</p>
  
  <p>this is my method</p>
  
  <pre><code>preg_replace_callback(
      '/(?&lt;=_)./',
      function ($matches) {
          return strtoupper($matches[0]);
      },
      $model_name
  );
  </code></pre>
  
  <p>It is matching and converting to Caps but when does it return? Does it not replace the it in the actual search text?</p>