JpnForPhp\Transliterator\Kana::transliterate PHP Method

transliterate() public method

Override transliterate().
See also: TransliterationSystem
public transliterate ( $str, $stripwhitespace = self::STRIP_WHITESPACE_NONE )
    public function transliterate($str, $stripwhitespace = self::STRIP_WHITESPACE_NONE)
    {
        $str = parent::transliterate($str);
        // Strip whitespace(s) here
        switch ($stripwhitespace) {
            case self::STRIP_WHITESPACE_AUTO:
                if (Helper::countSubString($str, ' ') > self::STRIP_WHITESPACE_AUTO_NB_SPACES) {
                    break;
                }
            case self::STRIP_WHITESPACE_ALL:
                $str = preg_replace('/\\s/u', '', $str);
                break;
        }
        return $str;
    }

Usage Example

Beispiel #1
0
 /**
  * Gets a verb entry from the database using either Kanji, Hiragana or Romaji
  *
  * @param $verb
  * @return array
  */
 public static function getVerb($verb)
 {
     if (!Analyzer::hasJapaneseLetters($verb)) {
         $hepburn = new Kana();
         $verb = $hepburn->transliterate($verb);
     }
     $sql = 'SELECT * FROM verbs WHERE kanji = :kanji OR kana = :kana';
     $uri = 'sqlite:' . __DIR__ . DIRECTORY_SEPARATOR . 'verbs.db';
     $connection = new PDO($uri);
     $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     $connection->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER);
     $statement = $connection->prepare($sql);
     $statement->execute(array(':kanji' => $verb, ':kana' => $verb));
     $results = $statement->fetchAll(PDO::FETCH_ASSOC);
     return $results;
 }