Ответы пользователя по тегу PHP
  • Как присвоить значение атрибуту тега HTML?

    vserykh
    @vserykh
    Разработка сайтов, лендингов «под ключ»
    Я уточню на всякий случай: а вы знаете что такое PHP и HTML?
    Может быть, вам стоит передать этот вопрос на решение тем, кто разбирается в этих буковках?

    <?=$displayType;?>
    Ответ написан
    1 комментарий
  • Как реализовать поддержку hover-эффектов на touch-устройствах?

    vserykh
    @vserykh
    Разработка сайтов, лендингов «под ключ»
    Я заметил, что на двух андроид-устройствах в браузерах Google Chrome и Яндекс.Браузер hover наступает после клика по элементу. Если элемент на клик не реагирует, а реагирует только на наведение, это сработает. Не уверен, что на всех системах и во всех браузерах так.

    Предполагаю, происходит следующее (это гипотеза, может быть неверной):
    В тач-устройстве в браузере есть курсор, но он не отображается. Когда вы кликаете куда-то, курсор помещается в эти координаты, и остаётся там. Соответственно, элементы под курсором считают, что на них навелы курсор, и на них отрабатывает ховер.

    Но если вы хотите, чтобы элемент реагировал и на ховер, и на клик, то выше верно сказали, что вы хотите нарушить грамотность UX. То есть, вы решаете неверно поставленную задачу. Значит, стоит поставить другую задачу, на уровне выше: как дать возможность пользователю взаимодействовать с одним элементом двумя способами. Но тут зависит от сути взаимодействия. Если вы хотите, чтобы просто была красивость при ховере, то на тач-скрине её не будет. Если хотите, чтобы всплывала подсказка или что-то вылезало — сделайте рядом иконку или кнопку, которая это будет делать. А клик на основном элементе не трогайте, не ломайте UX.
    Ответ написан
    Комментировать
  • Что такое plain?

    vserykh
    @vserykh
    Разработка сайтов, лендингов «под ключ»
    Plain text? Просто текст.
    text/plain — одно из значений HTTP-заголовка Content-Type, которое задаёт тип данных.

    Для HTML — это «text/html». Если вы хотите передавать или получать JSON, то следует использовать значение «application/json». Для XML — «application/xml».

    ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%...

    UPD
    Зачем ВКонтакте шлёт данные в виде плэйнтекста — стоит у них спросить. Если посмотрите в тело ответа, увидите там мешанину данных из HTML и JSON в непонятной кодировке.
    Видимо, оптимизация такая. Им виднее :)
    Ответ написан
    4 комментария
  • Как правильно разбить текст?

    vserykh
    @vserykh
    Разработка сайтов, лендингов «под ключ»
    Если вам не принципиально, чтобы во вложенных массивах индексы были «1» и «2», то так:
    <?php
    
    $text = "img32.jpg | img75.jpg\nimg72.jpg | img01.jpg";
    
    $array = explode("\n", $text);
    
    $result = array();
    foreach ($array as $str)
    {
        $result[] = explode(' | ', $str);
    }
    
    echo '<pre>';
    var_dump($result);
    echo '</pre>';

    Результатом будет:
    array(2) {
      [0]=>
      array(2) {
        [0]=>
        string(9) "img32.jpg"
        [1]=>
        string(9) "img75.jpg"
      }
      [1]=>
      array(2) {
        [0]=>
        string(9) "img72.jpg"
        [1]=>
        string(9) "img01.jpg"
      }
    }

    Функция explode разбивает строку на массив элементов, используя разделитель.

    В вашем случае разбивать приходится дважды:
    — по символу конца строки "\n" (обязательно в двойных кавычках),
    — и по ' | ' (вертикальная черта, отбитая с обеих сторон пробелами).
    Ответ написан
    Комментировать
  • Как разобрать такой массив?

    vserykh
    @vserykh
    Разработка сайтов, лендингов «под ключ»
    Чтобы получить значение из ассоциативного массива по ключу, нужно просто указать этот ключ.

    В данном случае у вас много вложенных ассоциативных массивов. Соответственно, нужно по цепочке ключей продвигаться к конечному значению.

    Например:
    $time = $array[681]['activities']['copying']['time']; // Получим значение «480»
    Ответ написан
    Комментировать
  • Как получить значение родительского элемента массива php зная одно из значений его дочернего массива?

    vserykh
    @vserykh
    Разработка сайтов, лендингов «под ключ»
    Как сказано в документации, в запросе можно использовать параметр «query», который позволяет искать по значениям полей.

    Если в качестве значения этого параметра указать искомый номер телефона, то в выдаваемом списке контактов будут только те контакты, у которых этот номер телефон присутствует в одном из полей.
    4a0a048538f240e8a2e8dd65e847a74b.PNG
    К сожалению, видимо, используется только точное вхождение: если искомый телефон будет записан без скобок или пробелов — найдено ничего не будет.

    Хотя, если по своим правилам нормализовывать номера телефонов при записи в CRM, то можно будет искать.
    1a7b952f93a941c3a2978436e8d5be4d.PNG
    Ответ написан
    Комментировать