Owl\Libraries\FtsUtils::toNgram PHP Method

toNgram() public static method

* Convert String into N-Gramed string
public static toNgram ( $str, $n = 2 )
    public static function toNgram($str, $n = 2)
    {
        $res = array();
        $str = self::removeMarkdown($str);
        $str = self::stripCrLf($str);
        $len = mb_strlen($str, 'UTF8');
        $index = 0;
        while (true) {
            $res[] = mb_substr($str, $index, $n, 'UTF8');
            $index++;
            if ($index + $n > $len) {
                break;
            }
        }
        return implode(' ', $res);
    }

Usage Example

Example #1
0
 /**
  * get tag ids by tag names.
  *
  * @param array $tag_names
  * @return array
  */
 public function getTagIdsByTagNames($tag_names)
 {
     $tag_ids = array();
     foreach ($tag_names as $tag_name) {
         $tag_name = trim(mb_convert_kana($tag_name, ""s""));
         $tag_name = str_replace(" ", "", $tag_name);
         if (empty($tag_name)) {
             continue;
         }
         $tag_name = mb_strtolower($tag_name);
         $tag = $this->tagRepo->firstOrCreateByName($tag_name);
         $this->searchService->tagFirstOrCreateByIdAndWords($tag['id'], FtsUtils::toNgram($tag_name));
         $tag_ids[] = (string) $tag['id'];
     }
     return $tag_ids;
 }
All Usage Examples Of Owl\Libraries\FtsUtils::toNgram