function replace_tokens_with_input($subject, $field_values)
{
// Wrap labels into tokens (inside {})
$wrapped_labels = array_map(array('Grunion_Contact_Form_Plugin', 'tokenize_label'), array_keys($field_values));
// Sanitize all values
$sanitized_values = array_map(array('Grunion_Contact_Form_Plugin', 'sanitize_value'), array_values($field_values));
foreach ($sanitized_values as $k => $sanitized_value) {
if (is_array($sanitized_value)) {
$sanitized_values[$k] = implode(', ', $sanitized_value);
}
}
// Search for all valid tokens (based on existing fields) and replace with the field's value
$subject = str_ireplace($wrapped_labels, $sanitized_values, $subject);
return $subject;
}