$value) { $fieldName = substr($value, 2, strlen($value)-3); if (isset($fieldValues[$fieldName])) { $targetFieldValue = isset($fieldValues[$fieldName]['value']) ? $fieldValues[$fieldName]['value'] : $fieldValues[$fieldName]; if (gettype($targetFieldValue) === 'array' || gettype($targetFieldValue) === 'object') { $fieldValue = wp_json_encode($targetFieldValue); } else { $fieldValue = strval($targetFieldValue); } $stringToReplaceField = str_replace($value, $fieldValue, $stringToReplaceField); } elseif (array_search($fieldName, $fieldValues) !== false) { $stringToReplaceField = str_replace($value, '', $stringToReplaceField); } } return $stringToReplaceField; } public static function validateMailArry($emailAddresses, $fieldValues) { if (!is_array($emailAddresses)) { return [FieldValueHandler::replaceFieldWithValue($emailAddresses, $fieldValues)]; } foreach ($emailAddresses as $key=>$email) { if (!is_email($email)) { $email = FieldValueHandler::replaceFieldWithValue($email, $fieldValues); if (is_email($email)) { $emailAddresses[$key] = $email; } } } return $emailAddresses; } }