code: protected function updateDynamicContent($content, $placeholders, $isRestoredFromCache = false)
      {
          if (empty($placeholders) || !is_array($placeholders)) {
              return $content;
          }
  
          if (count($this->getView()->getDynamicContents()) === 0) {
              // outermost cache: replace placeholder with dynamic content
              foreach ($placeholders as $name => $statements) {
                  $placeholders[$name] = $this->getView()->evaluateDynamicContent($statements);
              }
              $content = strtr($content, $placeholders);
          }
          if ($isRestoredFromCache) {
              $view = $this->getView();
              foreach ($placeholders as $name => $statements) {
                  $view->addDynamicPlaceholder($name, $statements);
              }
          }
  
          return $content;
      }
docs: Replaces placeholders in $content with results of evaluated dynamic statements.
  @param string $content content to be parsed.
  @param string[] $placeholders placeholders and their values.
  @param bool $isRestoredFromCache whether content is going to be restored from cache.
  @return string final content.