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;
}
/** * 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; }