Custom Transliteration

From WHMCS Documentation

Transliteration in WHMCS

Transliteration is the practice of converting text from one writing system into another in a systematic way.

You can use this with WHMCS to automatically replace characters in client profile data that third-party systems may reject. For example, a domain registrar's API might automatically reject certain characters in received requests.

Custom Transliteration Function

WHMCS includes a default function to find and replace the most common special characters that cause problems. If you need to tailor this to your unique needs, you can define a hook_transliterate function in the /includes/hooks/ directory. This will override the default function and allow you to specify your own character replacements.

<?php

function hook_transliterate($string) {
$string = str_replace("ž","z",$string);
$string = str_replace("é","e",$string);
return $string;
}

?>

An example of the above being used: a client with the name Jéssé žuckérbérg would be converted to Jesse Zuckerberg when performing a request using a module, such as a domain registrar.

Copy-and-paste the code above into a new file and save it in the /includes/hooks/ directory. Then, you can customise the character replacements. You must specifically define this as the hook_transliterate function.

To use this, return the converted string at the end of the call. You do not need to use the add_hook function with this feature.