Fukuball\Jieba\Finalseg::cut PHP Method

cut() public static method

Static method cut
public static cut ( string $sentence, array $options = [] ) : array
$sentence string # input sentence
$options array # other options
return array $seg_list
    public static function cut($sentence, $options = array())
    {
        $defaults = array('mode' => 'default');
        $options = array_merge($defaults, $options);
        $seg_list = array();
        $re_han_pattern = '([\\x{4E00}-\\x{9FA5}]+)';
        $re_skip_pattern = '([a-zA-Z0-9+#\\r\\n]+)';
        preg_match_all('/(' . $re_han_pattern . '|' . $re_skip_pattern . ')/u', $sentence, $matches, PREG_PATTERN_ORDER);
        $blocks = $matches[0];
        foreach ($blocks as $blk) {
            if (preg_match('/' . $re_han_pattern . '/u', $blk)) {
                $words = self::__cut($blk);
                foreach ($words as $word) {
                    array_push($seg_list, $word);
                }
            } else {
                array_push($seg_list, $blk);
            }
            // end else (preg_match('/'.$re_han_pattern.'/u', $blk))
        }
        // end foreach ($blocks as $blk)
        return $seg_list;
    }

Usage Example

Beispiel #1
0
 public function testFinalsegCut()
 {
     $case_array = array("怜香惜", "玉", "也", "得", "要", "看", "对象", "啊");
     $seg_list = Finalseg::cut("怜香惜玉也得要看对象啊!");
     $this->assertEquals($case_array, $seg_list);
 }
All Usage Examples Of Fukuball\Jieba\Finalseg::cut