예제 #1
0
파일: Uri.php 프로젝트: forkcms/forkcms
 /**
  * Prepares a string so that it can be used in urls.
  *
  * @param  string $value The value that should be urlised.
  *
  * @return string        The urlised string.
  */
 public static function getUrl($value)
 {
     // convert cyrlic, greek or other caracters to ASCII characters
     $value = Transliterator::transliterate($value);
     // make a clean url out of it
     return Transliterator::urlize($value);
 }
예제 #2
0
 /**
  * Generates canonical text for step text.
  *
  * @param string $stepText
  *
  * @return string
  */
 private function generateCanonicalText($stepText)
 {
     $canonicalText = preg_replace(array_keys(self::$replacePatterns), '', $stepText);
     $canonicalText = Transliterator::transliterate($canonicalText, ' ');
     $canonicalText = preg_replace('/[^a-zA-Z\\_\\ ]/', '', $canonicalText);
     $canonicalText = str_replace(' ', '', ucwords($canonicalText));
     return $canonicalText;
 }
예제 #3
0
 public function updateCodes()
 {
     $settings = $this->container->get("doctrine")->getRepository("CoreBundle:UserSetting")->findAll();
     $manager = $this->container->get("doctrine")->getManager();
     foreach ($settings as $setting) {
         $setting->setCode(Transliterator::transliterate($setting->getName()));
         $manager->persist($setting);
     }
     $manager->flush();
 }
예제 #4
0
 /**
  * {@inheritdoc}
  */
 public function generate($name, $parentId = null)
 {
     $taxonSlug = Transliterator::transliterate($name);
     if (null === $parentId) {
         return $taxonSlug;
     }
     /** @var TaxonInterface $parent */
     $parent = $this->taxonRepository->find($parentId);
     Assert::notNull($parent, sprintf('There is no parent taxon with id %d.', $parentId));
     return $parent->getSlug() . self::SLUG_SEPARATOR . $taxonSlug;
 }
 public function createFilename(FeatureNode $feature, ScenarioInterface $scenario, OutlineNode $outline = null)
 {
     $filename = Transliterator::transliterate($feature->getTitle(), $this->separator) . DIRECTORY_SEPARATOR;
     if ($outline) {
         $filename .= Transliterator::transliterate($outline->getTitle(), $this->separator) . DIRECTORY_SEPARATOR . $this->separator;
     }
     $filename .= Transliterator::transliterate($scenario->getTitle(), $this->separator);
     if ($outline) {
         $filename .= $this->separator;
     }
     return $filename;
 }
예제 #6
0
 /**
  * Transforms a text (for example a node title) into a valid node name by removing invalid characters and
  * transliterating special characters if possible.
  *
  * @param string $name The possibly invalid node name
  * @return string A valid node name
  */
 public static function renderValidNodeName($name)
 {
     // Check if name already match name pattern to prevent unnecessary transliteration
     if (preg_match(NodeInterface::MATCH_PATTERN_NAME, $name) === 1) {
         return $name;
     }
     // Transliterate (transform 北京 to 'Bei Jing')
     $name = Transliterator::transliterate($name);
     // Urlization (replace spaces with dash, special special characters)
     $name = Transliterator::urlize($name);
     // Ensure only allowed characters are left
     $name = preg_replace('/[^a-z0-9\\-]/', '', $name);
     return $name;
 }
 /**
  * @dataProvider provideTransliterationCases
  */
 public function testTransliteration($input, $expected)
 {
     $this->assertSame($expected, Transliterator::transliterate($input));
 }
예제 #8
0
 public function testTranslit()
 {
     $url = 'это тестовый title с названием';
     $this->assertSame('eto-tiestovyi-title-s-nazvaniiem', \Behat\Transliterator\Transliterator::transliterate($url));
 }
예제 #9
0
 /**
  * Returns the filename sanitized to minimize issues with various platforms
  * @return string the sanitized filename
  */
 public function getSanitizedFileName()
 {
     return Transliterator::transliterate($this->_fileName) . '.' . $this->getExtension();
 }
예제 #10
0
 /**
  * Generates a slug of the text after transliterating the UTF-8 string to ASCII.
  *
  * Unaccent umlauts/accents prior to transliteration.
  * Uses transliteration tables to convert any kind of utf8 character.
  *
  * @param string $text
  * @param string $separator
  *
  * @return string $text
  */
 public static function transliterate($text, $separator = '-')
 {
     $text = parent::unaccent($text);
     return parent::transliterate($text, $separator);
 }
예제 #11
0
 /**
  * {@inheritdoc}
  */
 public function setSlug($slug)
 {
     //$this->slug = $slug;
     if (empty($slug)) {
         $slug = $this->title;
     }
     $this->slug = Transliterator::transliterate($slug);
     return $this;
 }
예제 #12
0
 /**
  * @return string
  */
 public function getSlug()
 {
     return Transliterator::transliterate($this->getTitle());
 }
 /**
  * @param array  $events
  *
  * @return string
  */
 private function slimDownEventsForMap($events)
 {
     foreach ($events as $key => $value) {
         $events[$key]['startDate'] = $events[$key]['startDate']->format(\DateTime::RFC2822);
         $events[$key]['country'] = Intl::getRegionBundle()->getCountryName($events[$key]['country'], 'de');
         if (!is_null($events[$key]['startTime'])) {
             $events[$key]['startTime'] = $events[$key]['startTime']->format(\DateTime::RFC2822);
         }
         $eventId = $events[$key]['id'];
         $eventSlug = Transliterator::transliterate($events[$key]['title']);
         $events[$key]['url'] = $this->routing->generate('sulu_events.detail', array('id' => $eventId, 'slug' => $eventSlug));
         unset($events[$key]['id']);
     }
     return json_encode($events);
 }
예제 #14
0
 /**
  * @param string $name
  * @return UserSetting
  */
 public function setName(string $name) : UserSetting
 {
     $this->name = $name;
     $this->code = Transliterator::transliterate($name);
     return $this;
 }
예제 #15
0
파일: VCard.php 프로젝트: samstevenm/vcard
 /**
  * Decode
  *
  * @param  string $value The value to decode
  * @return string decoded
  */
 private function decode($value)
 {
     // convert cyrlic, greek or other caracters to ASCII characters
     return Transliterator::transliterate($value);
 }
 public function createFilename(FeatureNode $feature, ScenarioInterface $scenario, OutlineNode $outline = null)
 {
     return $this->directory . DIRECTORY_SEPARATOR . Transliterator::transliterate(implode($this->separator, $scenario->getTags()), $this->separator);
 }
예제 #17
0
파일: Naming.php 프로젝트: Chris7/JoliCi
 /**
  * Return a translitared name for a project
  *
  * @param string $projectPath Project directory
  *
  * @return string
  */
 public function getProjectName($projectPath)
 {
     $project = basename(realpath($projectPath));
     $project = Transliterator::transliterate($project, '-');
     return $project;
 }
예제 #18
0
 /**
  * {@inheritdoc}
  */
 public function generate($name)
 {
     return Transliterator::transliterate($name);
 }