Transliterates a string in given language. Various postprocessing possible.
\Symfony\Component\HttpFoundation\Request $request: The input string and language for the transliteration. Optionally may contain the replace_pattern, replace, lowercase parameters.
\Symfony\Component\HttpFoundation\JsonResponse The transliterated string.
public function transliterate(Request $request) {
$text = $request->query
->get('text');
$langcode = $request->query
->get('langcode');
$replace_pattern = $request->query
->get('replace_pattern');
$replace = $request->query
->get('replace');
$lowercase = $request->query
->get('lowercase');
$transliterated = $this->transliteration
->transliterate($text, $langcode, '_');
if ($lowercase) {
$transliterated = Unicode::strtolower($transliterated);
}
if (isset($replace_pattern) && isset($replace)) {
$transliterated = preg_replace('@' . $replace_pattern . '@', $replace, $transliterated);
}
return new JsonResponse($transliterated);
}