yii\sphinx\MatchBuilder::parseParams PHP Method

parseParams() protected method

Returns the actual MATCH expression by inserting parameter values into the corresponding placeholders.
protected parseParams ( string $expression, array $params ) : string
$expression string the expression string which is needed to prepare.
$params array the binding parameters for inserting.
return string parsed expression.
    protected function parseParams($expression, $params)
    {
        if (empty($params)) {
            return $expression;
        }
        foreach ($params as $name => $value) {
            if (strncmp($name, ':', 1) !== 0) {
                $name = ':' . $name;
            }
            // unable to use `str_replace()` because particular param name may be a substring of another param name
            $pattern = "/" . preg_quote($name, '/') . '\\b/';
            $value = '"' . $this->db->escapeMatchValue($value) . '"';
            $expression = preg_replace($pattern, $value, $expression, -1, $cnt);
        }
        return $expression;
    }