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

    @Nikolae
    Вот пример того, как можно получить текст из тега без внутренних тегов с помощью PHP и DOMDocument:
    $html = '<span>Нужный текст <small>ненужный</small></span>';
    
    $dom = new DOMDocument();
    $dom->loadHTML($html);
    
    // Находим все элементы <span>
    $spanElements = $dom->getElementsByTagName('span');
    
    // Перебираем найденные элементы <span>
    foreach ($spanElements as $spanElement) {
        // Создаем новый DOMDocument, чтобы получить текст без внутренних тегов
        $textDom = new DOMDocument();
        $textDom->appendChild($textDom->importNode($spanElement, true));
    
        // Получаем текст из DOMDocument без внутренних тегов
        $text = $textDom->textContent;
    
        // Выводим результат
        echo $text;
    }

    В результате выполнения этого кода на экране будет выведено:
    Нужный текст
    Важно отметить, что этот код будет работать только для простых случаев, когда в теге нет других вложенных тегов, иначе можно получить непредсказуемый результат. Если вам нужно получить текст из тега с вложенными тегами, вам нужно использовать более сложный алгоритм парсинга.
    Ответ написан
    Комментировать
  • Как реализовать генерацию 5 разных случайны чисел которые не равны друг другу?

    @Nikolae
    Можно реализовать это следующим образом:

    1. Создать массив из 5 элементов и заполнить его случайными числами.
    2. Проверить, есть ли повторяющиеся числа в массиве. Если есть, то заменить их на новые случайные числа.
    3. Использовать эти 5 уникальных чисел на 5 разных объектах.

    Примерный код на языке C#:
    int[] randomNumbers = new int[5];
    System.Random rnd = new System.Random();
    
    // заполнение массива случайными числами
    for (int i = 0; i < randomNumbers.Length; i++) {
        randomNumbers[i] = rnd.Next(1, 100);
    }
    
    // проверка на повторяющиеся числа и замена их на новые случайные числа
    for (int i = 0; i < randomNumbers.Length; i++) {
        for (int j = i + 1; j < randomNumbers.Length; j++) {
            if (randomNumbers[i] == randomNumbers[j]) {
                randomNumbers[j] = rnd.Next(1, 100);
                j = i + 1; // начинаем проверку заново, чтобы убедиться, что все числа уникальны
            }
        }
    }
    
    // использование уникальных чисел на 5 разных объектах
    for (int i = 0; i < 5; i++) {
        int randomNumber = randomNumbers[i];
        // использование числа на i-ом объекте
        // ...
    }

    Вы можете настроить параметры rnd.Next(minValue, maxValue) для генерации чисел в нужном диапазоне. Также можно изменить количество элементов в массиве или количество объектов, на которых нужно использовать эти числа.
    Ответ написан
    Комментировать
  • Как смешивать массив текстур в шейдере?

    @Nikolae
    Существует несколько способов смешивания множества текстур в шейдерах. Вот некоторые из них:

    1. Миксование текстур на основе градиента: Вы можете создать градиентную текстуру, которая будет определять, какие части вашей модели должны быть смешаны с определенными текстурами. Это может быть сделано с помощью функции smoothstep, которая позволяет создавать градиенты между двумя точками. Затем, используя значения из этой текстуры, вы можете миксовать разные текстуры с помощью функции mix.

    2. Смешивание текстур на основе шума: Вы можете использовать шум для смешивания разных текстур в зависимости от расстояния от центра вашей модели. Это может создать эффект размытия границ между текстурами. Для этого можно использовать шум Перлина или другой алгоритм шума, а затем использовать его значения для миксования текстур.

    3. Смешивание текстур с помощью альфа-канала: Вы можете использовать альфа-канал текстур для создания маски смешивания между текстурами. Альфа-канал может быть использован для определения, какие части текстуры должны быть прозрачными, а какие - непрозрачными. Затем вы можете использовать значение альфа-канала для миксования текстур.

    4. Смешивание текстур на основе расстояния: Если вы хотите создать эффект наложения текстур на большое расстояние, то можете использовать функцию distance для определения расстояния от центра вашей модели. Затем вы можете использовать это расстояние для определения, какие текстуры должны быть наложены на модель.

    5. Смешивание текстур на основе наклона: Если вы хотите создать эффект наложения текстур на уклоненную поверхность, то можете использовать нормали для определения угла наклона. Затем вы можете использовать этот угол для определения, какие текстуры должны быть наложены на модель.


    Некоторые из этих методов могут быть объединены для создания более сложных эффектов смешивания текстур.
    Ответ написан
    5 комментариев
  • Логирует ли провайдер что подключение идёт по рдп?

    @Nikolae
    Провайдер может логировать информацию о том, что происходит на вашем подключении, включая то, что вы используете RDP (Remote Desktop Protocol), чтобы удаленно подключаться к другому компьютеру. Обычно провайдеры могут видеть, какие порты вы используете для связи, и на основе этой информации могут догадаться, что вы используете RDP.

    Если вы используете защищенное соединение HTTPS для подключения к серверу, то провайдер не будет видеть содержимое вашего трафика, включая доменное имя сервера, которому вы подключаетесь. Он сможет видеть только IP-адрес сервера, с которым вы устанавливаете связь. Однако, если провайдер использует Deep Packet Inspection (DPI), он может обнаружить, что вы подключаетесь к определенному серверу, основываясь на метаданных ваших пакетов, таких как IP-адрес и порты назначения.
    Ответ написан
    3 комментария