function setIds($str, $type_name = 'trades', $add_new = false, $target_id = 0) { require LOCALE_PATH . 'wordsegment.class.php'; $ws = new WordSegment(); $ws->zhcode($str); $title = $ws->getResult(); $values = $exist_keys = $not_exist_keys = $key_result = array(); if (empty($title) || !is_array($title)) { return false; } $titles = implode("','", $title); $key_result = $this->dbstuff->GetArray("SELECT id,title FROM {$this->table_prefix}keywords WHERE title IN ('{$titles}') AND type_name='" . $type_name . "' AND target_id='" . $target_id . "'"); if (!empty($key_result)) { foreach ($key_result as $val) { $exist_keys[] = $val['title']; } } $not_exist_keys = $this->array_diff($title, $exist_keys); if (!empty($not_exist_keys)) { foreach ($not_exist_keys as $valx) { $values[] = "('{$valx}',{$target_id},'{$type_name}')"; } if ($add_new && !empty($values)) { $values = implode(",", $values); $this->dbstuff->Execute("INSERT INTO {$this->table_prefix}keywords (title,target_id,type_name) VALUES " . $values); } } }