$result = $db->query($sql); if (!$result) { $err = $db->errorInfo(); //errLastSet($err[2]); //errLog(0, "Err database ".$sql, $err[2]); echo $err[2] . "<br>"; } else { while ($row = $result->fetch()) { $ving = EnglishVerbing::get_ing($row[1]); $this->ChangedVerbs[$ving] = $row[1]; $this->ChangedVerbs[$row[2]] = $row[1]; $this->ChangedVerbs[$row[3]] = $row[1]; } } return $this; } } //class MysqlBase if (0) { //================= //usage sample //================= print "<br>======<br>"; /////////////////// $db = new EnglishIrregularVerbs(); $ret = $db->getBaseForm("broke"); print_r($ret); $ret = $db->getBaseForm("broken"); print_r($ret); syslog(LOG_DEBUG, "ret=" . $ret); }
public function load2freq($filename) { $this->init2(); $IrregVerb = new EnglishIrregularVerbs(); $RegVerb = new EnglishRegularVerbs(); $data = file_get_contents($filename); if (false == $data) { print "failed6 to read file:" . $filename; die; } //$data = str_replace("'s ", " ", $data); $data = strtolower($data); $data = preg_replace("/([a-z]+[0-9]+[:][0-9]+[\\s])/i", " ", $data); //del verse name. $data = preg_replace("/[a-z]['][s][\\s]/i", " ", $data); //del ---'s . //$data = preg_replace("/[:'\"\?\.,=+()_[]{}|\\\/~`!@#\$%^&\*<>]/i", " ", $data); //del ---'s . $data = preg_replace("/[^a-z]/i", " ", $data); //del symbols . ^:not letters. //$pattern = "/src=[\"']?([^\"']?.*(png|jpTotalWordsg|gif))[\"']?/i"; //$pattern = "/[0-9]+[\s]+[A-Za-z']+[\s]*/i"; //^:start of line; \s:space; $:end line; +:>=1; //$tot = preg_match_all("/[\s]+/", $data, $out); //print_r($out[0]); $out = preg_split("/[\\s]+/", $data); //space foreach ($out as $idx => $str) { $str = trim($str); if (strlen($str) == 0) { continue; } // $word = $str; $bChanged = false; $s = substr($str, -1); //get last char; if ("s" == $s) { $this->wordends($str); $word = $this->del_s($str, $bChanged); } if (!$bChanged) { $word = $IrregVerb->getBaseForm($str, $bChanged); } if (!$bChanged) { $word = $RegVerb->getBaseForm($str, $bChanged); } if (!$bChanged) { //iiregular noun plural, verb tense. if (array_key_exists($word, $this->Ignores)) { $word = $this->Ignores[$word]; } } //ignored words if (strlen($word) == 0) { echo count($out) . "," . $idx . $str . " == bad word process<br>"; continue; } if (!isset($this->WordFreqArr[$word])) { $this->WordFreqArr[$word] = array("sort" => 0, "afreq" => 0, "arank" => 0, "rfreq" => 0, "rrank" => 0); } $arr = $this->WordFreqArr[$word]; $arr["afreq"] += 1; $arr["arank"] = 0; $arr["sort"] = $arr["afreq"]; $this->WordFreqArr[$word] = $arr; $this->TotalWords += 1; } //$IrregVerb->show_FoundUsed(); $this->Ignores = array_merge($this->Ignores, $IrregVerb->ChangedVerbs); $this->Ignores = array_merge($this->Ignores, $RegVerb->ChangedVerbs); }