/**
  * Test...
  *
  * @covers JLanguage::transliterate
  *
  * @return void
  */
 public function testTransliterate()
 {
     $string1 = 'Así';
     $string2 = 'EÑE';
     $this->assertEquals('asi', $this->object->transliterate($string1), 'Line: ' . __LINE__);
     $this->assertNotEquals('Asi', $this->object->transliterate($string1), 'Line: ' . __LINE__);
     $this->assertNotEquals('Así', $this->object->transliterate($string1), 'Line: ' . __LINE__);
     $this->assertEquals('ene', $this->object->transliterate($string2), 'Line: ' . __LINE__);
     $this->assertNotEquals('ENE', $this->object->transliterate($string2), 'Line: ' . __LINE__);
     $this->assertNotEquals('EÑE', $this->object->transliterate($string2), 'Line: ' . __LINE__);
 }
Example #2
0
 /**
  * @todo Implement testTransliterate().
  */
 public function testTransliterate()
 {
     // This method processes a string and replaces all accented UTF-8 characters by unaccented ASCII-7 'equivalents'
     $string1 = 'Así';
     $string2 = 'EÑE';
     $lang = new JLanguage('');
     $this->assertEquals('asi', $lang->transliterate($string1), 'Line: ' . __LINE__);
     $this->assertNotEquals('Asi', $lang->transliterate($string1), 'Line: ' . __LINE__);
     $this->assertNotEquals('Así', $lang->transliterate($string1), 'Line: ' . __LINE__);
     $this->assertEquals('ene', $lang->transliterate($string2), 'Line: ' . __LINE__);
     $this->assertNotEquals('ENE', $lang->transliterate($string2), 'Line: ' . __LINE__);
     $this->assertNotEquals('EÑE', $lang->transliterate($string2), 'Line: ' . __LINE__);
 }
Example #3
0
 /**
  * Create a slug
  *
  * @copyright
  * @author 		RolandD
  * @todo
  * @see
  * @access 		public
  * @param 		string	$name	the string to turn into a slug
  * @return 		string	the slug for the product
  * @since 		4.0
  */
 public function createSlug($name)
 {
     $jinput = JFactory::getApplication()->input;
     $template = $jinput->get('template', null, null);
     // Transliterate
     $lang = new JLanguage($template->get('language', 'general', '', null, 0, false));
     $str = $lang->transliterate($name);
     // Trim white spaces at beginning and end of alias and make lowercase
     $str = trim(JString::strtolower($str));
     // Remove any duplicate whitespace, and ensure all characters are alphanumeric
     $str = preg_replace('/(\\s|[^A-Za-z0-9\\-])+/', '-', $str);
     // Trim dashes at beginning and end of alias
     $str = trim($str, '-');
     // If we are left with an empty string, make a date with random number
     if (trim(str_replace('-', '', $str)) == '') {
         $jdate = JFactory::getDate();
         $str = $jdate->format("Y-m-d-h-i-s") . mt_rand();
     }
     return $str;
 }