@canya

Как составить запрос vk api execute с циклом?

Здравствуйте.
Необходимо отправить запрос с помощью вк апи методом execute, а именно для начала получить id группы и проверить что она удолетворяет условиям и не содержит контент "ню", проверку решил проводить по названию группы не содержит ли она в названия слова (интим, содержанки, 18+, секс и т.п.)

вот как сейчас это выглядит:
$block = ['секс', '18+', 'любовниц', 'содержанк'];
$id = ''; // id или короткое имя группы
if (preg_match('/[public?club](\d+)/', $id, $gid)) {
                $id = end($gid);
}
$code = urlencode('return API.users.get(
{
   var id = API.groups.getById(
                    {
                        "group_ids":"' . $id . '",
                        "fields":"activity,name",
                        "v":"5.102"
                    });
});
    return id@.name;
');
$query = file_get_contents("https://api.vk.com/method/execute?code=".$code."&access_token=".$token);
$result = json_decode($query, true);
print_r($result);


как можно перебрать циклом while слова из массива $block(любого регистра) чтобы проверить что в названии их нет, при том соблюсти условия из документации вк а именно
spoiler
Поддерживаются:

арифметические операции
логические операции
создание массивов и списков ([X,Y])
parseInt и parseDouble
конкатенация (+)
конструкция if
фильтр массива по параметру (@.)
вызовы методов API, параметр length
циклы, используя оператор while
методы Javascript: slice, push, pop, shift, unshift, splice, substr, split
оператор delete
присваивания элементам маcсива, например: row.user.action = "test";
поиск в массиве или строке — indexOf, например: "123".indexOf(2) = 1, [1, 2, 3].indexOf(3) = 2. Возвращает -1, если элемент не найден.
  • Вопрос задан
  • 140 просмотров
Пригласить эксперта
Ответы на вопрос 1
sergiks
@sergiks Куратор тега PHP
♬♬
Идея перебирать стоп-слова прямо в execute() так-себе, потому, что там много ограничений, в т.ч. на простой цикл. Чем больше стоп-слов, тем скорее код упрётся в лимит итераций, перебирая их. Поэтому стоп-слова лучше проверять на стороне сервера в PHP – проще. И не придётся гонять туда весь словарь нехорошестей. Проще же принять оттуда недлинное название.

Ещё вариант брать инфу о группе через groups.getById() с полем age_limits – возрастное ограничение.
1 — нет;
2 — 16+;
3 — 18+.

Вас будут интересовать, чтобы не было значения 3
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы