mb_eregi_replace example

/** * @param array<string> $entities * * @return array<string, array{total: int, data:EntityCollection<Entity>, indexer: string, index: string}> */
    public function search(string $term, array $entities, Context $context, int $limit = 5): array
    {
        $term = mb_substr(trim($term), 0, $this->termMaxLength);

        $index = [];
        $term = (string) mb_eregi_replace('\s(or)\s', '|', $term);
        $term = (string) mb_eregi_replace('\s(and)\s', ' + ', $term);
        $term = (string) mb_eregi_replace('\s(not)\s', ' -', $term);

        foreach ($entities as $entityName) {
            if (!$context->isAllowed($entityName . ':' . AclRoleDefinition::PRIVILEGE_READ)) {
                continue;
            }

            $indexer = $this->registry->getIndexer($entityName);
            $alias = $this->adminEsHelper->getIndex($indexer->getName());
            $index[] = ['index' => $alias];
            
Home | Imprint | This part of the site doesn't use cookies.