/** * Transliterate function * * This method processes a string and replaces all accented UTF-8 characters by unaccented * ASCII-7 "equivalents". * * @param string $string The string to transliterate. * * @return string The transliteration of the string. * * @since 1.0 * @throws \RuntimeException */ public function transliterate($string) { if ($this->transliterator !== null) { return call_user_func($this->transliterator, $string); } $string = Transliterate::utf8_latin_to_ascii($string); $lowercaseString = String::strtolower($string); // String can return false if there isn't a fully valid UTF-8 string entered if ($lowercaseString == false) { throw new \RuntimeException('Invalid UTF-8 was detected in the string "%s"', $lowercaseString); } return $lowercaseString; }
/** * Transliterate function * * This method processes a string and replaces all accented UTF-8 characters by unaccented * ASCII-7 "equivalents". * * @param string $string The string to transliterate. * * @return string The transliteration of the string. * * @since 1.0 */ public function transliterate($string) { if ($this->transliterator !== null) { return call_user_func($this->transliterator, $string); } $string = Transliterate::utf8_latin_to_ascii($string); $string = String::strtolower($string); return $string; }
/** * Test... * * @param string $word @todo * @param string $result @todo * @param string $case @todo * * @covers Joomla\Language\Transliterate::utf8_latin_to_ascii * @dataProvider testData * * @return void */ public function testUtf8_latin_to_ascii($word, $result, $case) { $this->assertEquals($result, $this->object->utf8_latin_to_ascii($word, $case)); }