/** * check if value in the given attribute is a valid language code * return true if valid, otherwise, return false */ public static function isValidLangCode($code) { // The allowed characters in a valid language code are letters, numbers or dash(-). if (!preg_match("/^[a-zA-Z0-9-]+\$/", $code)) { return false; } $code = BasicChecks::cutOutLangCode($code); $langCodesDAO = new LangCodesDAO(); if (strlen($code) == 2) { $rows = $langCodesDAO->GetLangCodeBy2LetterCode($code); } else { if (strlen($code) == 3) { $rows = $langCodesDAO->GetLangCodeBy3LetterCode($code); } else { return false; } } return is_array($rows); }
/** * return language code that is defined in the given html * return language code */ public static function getLangCode() { global $global_content_dom; // get html language $e_htmls = $global_content_dom->find("html"); foreach ($e_htmls as $e_html) { if (isset($e_html->attr["xml:lang"])) { $lang = trim($e_html->attr["xml:lang"]); break; } else { if (isset($e_html->attr["lang"])) { $lang = trim($e_html->attr["lang"]); break; } } } return BasicChecks::cutOutLangCode($lang); }