все словил все что нужно, оказывается нельзя разрешать кэш для всего, нужно разрешать лишь для определенных запросов, иначе не будет грузится сайт до конца.
всем большое спасибо за помощь
Проверка присутствия значений из списка
-
Сложилась следующая ситуация - есть задание в виде текста на странице - получаю его через взять текст, и есть список ключевых слов, например 5 - наличие которых в тексте необходимо проверить...
Сейчас это реализовано последовательной цепочкой через логику:
if[[var]].indexOf("key") >=0
if[[var]].indexOf("key1") >=0
if[[var]].indexOf("key2") >=0
и т.д.скрипт очень большой, вернее сказать высокий) - можно ли каким то образом сформировать выражение, чтобы список кеев был помещен в одно выражение, что-то типа
if[[var]].indexOf("key;key1;key2") >=0 то есть, если любое из перечисленных значений присутствует в тексте выражение считается верным@support - как правильно реализовать???
-
@Turutur said in Проверка присутствия значений из списка:
if[[var]].indexOf("key;key1;key2") >=0
Сейчас что-то похожее пытаюсь сообразить, а вместо "key;key1;key2" список из файла через ресурс как-то можно загрузить?
Примерно так
if[[var]].indexOf("{{list-key}}") >=0
Надо сформировать файл минус слов или черный список, с возможностью его дополнять.
-
@servasw45
Если есть строка с переменным числом элементов, то нужно сначала разбить ее на список, потом проверить каждый элемент -
@support said in Проверка присутствия значений из списка:
if([[var]].indexOf("key") >=0 && [[var]].indexOf("key1") >=0 && [[var]].indexOf("key2") >=0)не срабатывает в блоке if прописываю строчку
[[SAVED_TZ]].indexOf("Нужно") >=0 && [[SAVED_TZ]].indexOf("лендинг") >=0 && [[SAVED_TZ]].indexOf("LP") >=0
в коде она выглядит так:
_if(VAR_SAVED_TZ.indexOf("Нужно") >=0 && VAR_SAVED_TZ.indexOf("лендинг") >=0 && VAR_SAVED_TZ.indexOf("LP") >=0,function(){
section_insert()что не так?
-
-
@out - спасибо за участие! То есть получается идет проверка на наличие именно всего текста - я думал && - означает "или" - как тогда реализовать проверку на наличие любого из слов, а не всех сразу? И второе - как задать проверку на наличие не целого слова, а например его части, и как исключить значение регистра??? Например есть ключ Одностраничник - в тексте он может быть как Одностраничник, одностраничник, одностраничника и так далее как сделать проверку по части слова "дностраничник" - возможно ли?
-
- && замени на ||
&& логическое И
|| - ИЛИ
- Проверяется и так не целое слово, а "его части". Если бы нужна была проверка именно целых слов, то поиск бы велся иначе: использовались бы регулярки \bслово\b или что-то подобное (\b значит граница слова)...
На регистронезависимого поиска, то нужно исходных текст (в котором ты ищешь) привести в нижный регистр и искомые слова писать в нижнем регистре.
Как привести содержимое переменной к нижнему регистру ? так: https://learn.javascript.ru/string#смена-регистра
- && замени на ||
-
@Turutur и вообще советую тебе юзать более удобный вариант:
это вставлять в "выполнить код"var myyytxt = [[ТВОЯпеременнаястекстом]].toLowerCase(); var searchTerms = [ 'lp', 'такое вот', 'ищу' ]; VAR_FOUND_STATUS = false; for (var i = 0; i < searchTerms.length; i++) { if (myyytxt.indexOf(searchTerms[i]) > - 1) { VAR_FOUND_STATUS = true; break; } }[[ТВОЯ переменная с текстом]] это замени своей переменной, где лежит текст
после этого в обычный IF просто впиши [[FOUND_STATUS]]
если одно из слов было найдено, то условие ИФ будет выполнятся.

