public function SearchExpression::insert

Adds a module-specific search option to a search expression.

Search options are added using SearchExpression::insert() and retrieved using SearchExpression::extract(). They take the form option:value, and are added to the ordinary keywords in the search expression.

Parameters

string $option: The name of the option to add to the search expression.

string $value: The value to add for the option. If present, it will replace any previous value added for the option. Cannot contain any spaces or | characters, as these are used as delimiters. If you want to add a blank value $option: to the search expression, pass in an empty string or a string that is composed of only spaces. To clear a previously-stored option without adding a replacement, pass in NULL for $value or omit.

Return value

static|\Drupal\search\SearchExpression The search expression, with any previous value for this option removed, and a new $option:$value pair added if $value was provided.

File

drupal/core/modules/search/lib/Drupal/search/SearchExpression.php, line 82
Contains \Drupal\search\SearchExpression.

Class

SearchExpression
Defines a search expression.

Namespace

Drupal\search

Code

public function insert($option, $value = NULL) {

  // Remove any previous values stored with $option.
  $this->expression = trim(preg_replace('/(^| )' . $option . ':[^ ]*/i', '', $this->expression));

  // Set new value, if provided.
  if (isset($value)) {
    $this->expression .= ' ' . $option . ':' . trim($value);
  }
  return $this;
}