У меня есть булевы поиск строку для третьей партии службы поиска индекса: Germany or (Indian, Tech*)
Добавить текст в строку, используя регулярное выражение (preg_replace: PHP) с ограниченными словами
Я хочу, чтобы мой результат будет после обработки: Germany[45] or (Indian[45], Tech*[45])
. Здесь 45 - это вес, необходимый службе поиска.
После долгого поискового запроса я смог получить результат: Germany[45] or (Indian[45], Tech[45]*)
. Здесь вы можете увидеть *
пришел после [45]
, который не требуется.
Выход должен быть: Germany[45] or (Indian[45], Tech*[45])
, ищите *
до [45]
.
Код:
preg_replace('/([a-z0-9\*\.])+(\b(?<!or|and|not))/i', '$0'."[45]", $term);
Так что простое понятие позади него, чтобы применить вес слова, но не or/and/not
и т.д. булевых поиск чувствительных слов. Пожалуйста, помогите мне настроить мелодию регулярного выражения или дать новое регулярное выражение для получения требуемого результата.
Спасибо за такое хорошее объяснение ... –
@AakashSahai - добро пожаловать. –
эй, у меня есть другой случай, когда это не работает, PLZ обновить его. «Soft Lang», создавая «Soft [45] Lang» [45], вместо этого он должен отвечать как «Soft Lang» [45]. ожидание обновления –