Difference between revisions of "Custom Transliteration"

From WHMCS Documentation

(Custom Transliteration Function)
Line 9: Line 9:
 
<div class="source-cli">
 
<div class="source-cli">
 
<?php
 
<?php
</br>
+
<br/>
</br>function hook_transliterate($string) {
+
<br/>function hook_transliterate($string) {
</br>    $string = str_replace("ž","z",$string);
+
<br/>    $string = str_replace("ž","z",$string);
</br>    $string = str_replace("é","e",$string);
+
<br/>    $string = str_replace("é","e",$string);
</br>    return $string;
+
<br/>    return $string;
</br>}
+
<br/>}
</br>  
+
<br/>  
</br>?>
+
<br/>?>
 
</div>
 
</div>
  

Revision as of 21:02, 27 May 2020

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;
}

?>

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.