public static function meaningsToLemmas($word)
 {
     $word_obj_arr = PWLemma::getByLemma($word);
     $words = array();
     foreach ($word_obj_arr as $word_obj) {
         if ($word_obj->getOrigin() > 0) {
             // The page $word does not exist in LANG_CODE.wiktionary.org
             continue;
         }
         $page_id = $word_obj->getID();
         // if origin=0 then word is added from wiktionary, and lemma.id = page.id
         $meaning_arr = TMeaning::getByPageAndLang($page_id, PWLemma::getLangCode());
         foreach ($meaning_arr as $meaning_obj) {
             $meaning_wiki_text = $meaning_obj->getWikiText();
             $meaning_text = $meaning_wiki_text->getText();
             //                $words = array_merge($words,preg_split('/\P{L}+/u', $meaning_text, -1, PREG_SPLIT_NO_EMPTY));
             $words = array_merge($words, preg_split('/((^\\p{P}+)|(\\p{P}*\\s+\\p{P}*)|(\\p{P}+$))/u', $meaning_text, -1, PREG_SPLIT_NO_EMPTY));
         }
     }
     return $words;
 }