Can't get token replacement to work I have nearly this exact case but as it applies to Drupal 8: 
 Store token replacement values in the database rather than tokens themselves).  

I have a content type 'article' with a 'body' field which has been populated with tokens via the Token Filter module.  I believe the code should be something like found here https://www.drupal.org/project/drupal/issues/2043055 but can't get it to work.

function MYMODULE_node_presave(Drupal\Core\Entity\EntityInterface $node) {
  if ($node-&gt;bundle() == 'article') {
    $body = $node-&gt;get('body')-&gt;value;
    $token = Drupal::token();
    $body = $token-&gt;replace($body);
  }
}


Thanks for considering, -c
You need to set the new value on the body, and save it.

function MYMODULE_node_presave(Drupal\Core\Entity\EntityInterface $node) {
  if ($node-&gt;bundle() == 'article') {
    $body = $node-&gt;get('body')-&gt;value;
    $token = Drupal::token();
    $body = $token-&gt;replace($body);
    $node-&gt;get('body')-&gt;value = $body;
    $node-&gt;save();
  }
}