Documentation

ExpressionService

Service class for multi-word expression handling.

Contains functions for finding and inserting multi-word expressions, including MeCab integration for Japanese text processing.

Tags
since
3.0.0

Table of Contents

Properties

$textParsingService  : TextParsingService

Methods

__construct()  : mixed
Constructor - initialize dependencies.
findMecabExpression()  : array<int, array{SeID: int, TxID: int, position: int, term: string}>
Find all occurrences of an expression using MeCab.
findStandardExpression()  : array<int, array{SeID: int, SeTxID: int, position: int, term: ?string, term_display: ?string}>
Find all occurrences of an expression, do not use parsers like MeCab.
insertExpressions()  : array{placeholders: list, params: list}|null
Alter the database to add a new word.
newExpressionInteractable2()  : void
Prepare a JavaScript dialog to insert a new expression (version 2).
newMultiWordInteractable()  : void
Prepare a JavaScript dialog to insert a new expression.

Properties

Methods

findMecabExpression()

Find all occurrences of an expression using MeCab.

public findMecabExpression(string $text, string|int $lid) : array<int, array{SeID: int, TxID: int, position: int, term: string}>
Parameters
$text : string

Text to insert

$lid : string|int

Language ID

Return values
array<int, array{SeID: int, TxID: int, position: int, term: string}>

findStandardExpression()

Find all occurrences of an expression, do not use parsers like MeCab.

public findStandardExpression(string $textlc, string|int $lid) : array<int, array{SeID: int, SeTxID: int, position: int, term: ?string, term_display: ?string}>
Parameters
$textlc : string

Text to insert in lower case

$lid : string|int

Language ID

Return values
array<int, array{SeID: int, SeTxID: int, position: int, term: ?string, term_display: ?string}>

insertExpressions()

Alter the database to add a new word.

public insertExpressions(string $textlc, int $lid, int $wid, int $len, int $mode) : array{placeholders: list, params: list}|null
Parameters
$textlc : string

Text in lower case

$lid : int

Language ID

$wid : int

Word ID

$len : int

Number of words in the expression

$mode : int

Function mode

  • 0: Default mode, do nothing special
  • 1: Runs an expression inserter interactable
  • 2: Return prepared statement data for batch insert
Return values
array{placeholders: list, params: list}|null

If $mode == 2 returns array with placeholders and params for prepared statement, null otherwise.

newExpressionInteractable2()

Prepare a JavaScript dialog to insert a new expression (version 2).

public newExpressionInteractable2(string $hex, array<string|int, string> $appendtext, int $wid, int $len) : void
Parameters
$hex : string

Lowercase text, formatted version of the text.

$appendtext : array<string|int, string>

Text to append

$wid : int

Term ID

$len : int

Words count.

newMultiWordInteractable()

Prepare a JavaScript dialog to insert a new expression.

public newMultiWordInteractable(string $hex, array<int, array<int, string>> $multiwords, int $wid, int $len) : void
Parameters
$hex : string

Lowercase text, formatted version of the text.

$multiwords : array<int, array<int, string>>

Multi-words to append, format [textid][position][text]

$wid : int

Term ID

$len : int

Words count.


        
On this page

Search results