/** * Test that transliterate() replaces non-ASCII chars. */ public function testTransliterate() { $this->assertEquals('Ingles', Inflector::transliterate('Inglés')); $this->assertEquals('Uber', Inflector::transliterate('Über')); }
/** * {@inheritdoc} */ public static function slug($string) { return static::cache([__METHOD__, $string], function () use($string) { // Revert entities $string = html_entity_decode($string, ENT_QUOTES, 'UTF-8'); // Remove non-ascii characters $string = preg_replace('/[^-a-z0-9\\.\\s]+/i', '', Inflector::transliterate($string)); // Replace dashes and underscores $string = str_replace(' ', '-', str_replace('-', '_', $string)); return mb_strtolower($string); }); }