find_element_by_xpath("//div[@class='first_block']//input[@class='form-control first']")
contains
не обращает внимания, совпадает ли имя класса целиком (просто ищется вхождение подстроки). Предложенный там вариант селектора…[contains(concat(' ', normalize-space(@class), ' '), ' CLASSNAME ')]…
// Задаём $(), связанный с нужной таблицей
// table = $('table...')
function handleEachTr() {
tr = $(this);
if (tr.find('td:nth-child(6)> div:nth-child(3):contains("[+0]")').size() !== 0) {
tr.hide();
}
}
// ...
table.find('tr').each(handleEachTr);
// компактно (для разового применения)
table.find('tr').each(function () {tr = $(this); if (tr.find('td:nth-child(6)> div:nth-child(3):contains("[+0]")').size()) tr.hide()});
// модно
table.find('tr').each((i, e) => {tr = $(e); tr.find('td:nth-child(6)> div:nth-child(3):contains("[+0]")').size() ? tr.hide() : 0});
// ещё моднее
table.find('tr').each((i, tr) => {$(tr).find('td:nth-child(6)> div:nth-child(3):contains("[+0]")').size() ? $(tr).hide() : 0});
server {
listen 80;
listen [::]:80;
server_name example.ru www.example.ru;
location / {
return 301 https://example.ru$request_uri;
}
location = /path/without/redirect {}
# без =, если другие адреса с этим префиксом тоже не редиректить
}
Хоть и некропостинг. Вдруг поможет кому.$db->num_rows
должно содержать число строк в ответе на последний запрос, далее аналогично с остальными заменами … = str_replace("{tag}", $db->num_rows, …)
.… = str_replace("{tag}", $db->num_rows(), …)
import re;
line = '25.06.2019 272\xd0\xb0 4 13:20 - 14:50 \xd0\xbb\xd0\xb5\xd0\xba. \xd0\xad\xd0\xba\xd0\xbe\xd0\xbd\xd0\xbe\xd0\xbc\xd0\xb8\xd0\xba\xd0\xb0 \xd0\xbe\xd1\x80\xd0\xb3\xd0\xb0\xd0\xbd\xd0\xb8\xd0\xb7\xd0\xb0\xd1\x86\xd0\xb8\xd0\xb8 \xd0\x9a\xd0\xb0\xd0\xbb\xd1\x83\xd0\xb3\xd0\xb8\xd0\xbd\xd0\xb0 \xd0\x9d.\xd0\x90. 314 \xd0\x9d ';
expr = re.compile('^([0-9.]+) ([0-9\xd0\xb0-\xd1\x8f]+) (\d+) (\d+:\d+) - (\d+:\d+) (.*) (\d+ \xd0\x9d) $');
match = expr.match(line);
for val in match.groups() :
print(val);
# -*- coding: utf-8 -*-
# комментарий выше должен быть первой или второй строкой в файле исходника, содержащего юникод (здесь, русские буквы)
import re;
line = '25.06.2019 272а 4 13:20 - 14:50 лек. Экономика организации Калугина Н.А. 314 Н ';
expr = re.compile('^([0-9.]+) ([0-9а-я]+) (\d+) (\d+:\d+) - (\d+:\d+) (.*) (\d+ Н) $');
match = expr.match(line);
for val in match.groups() :
print(val);
function get_body_classes_from_file(string $filename) {
$page = file_get_contents($filename);
if (!preg_match('#<body[^>]*>#', $page, $matches)) return [];
$body = $matches[0];
if (!preg_match('#(?<=\sclass=")[^"]*(?=")#', $body, $matches)) return [];
$class_prop = $matches[0];
$classes = array_filter(explode(' ', $class_prop));
return $classes;
}
$body_classes = get_body_classes_from_file(__FILE__);
if (in_array('markerClass1', $body_classes)) {
// вывод для первой страницы
} elseif (in_array('markerClass2', $body_classes)) {
// вывод для второй страницы
} else {
// дефолт или ошибки разработчика, если нет обоих классов
}
server{…}
под основной домен (с путями до доменного сертификата/ключей), и server{…}
под поддомен (с путями до поддоменного сертификата/ключей). ./server.js
./client/.env
./client/src/index.js
.env
в текущей директории, если не переназначить, судя по описанию.index.js
запускался из ./client
, а server.js
, скажем, из папки, где сам находится..env
лежал не в CWD, помогло указание пути до него через dotenv.config({ path: … })
=MATCH(A1;B:B;0)
взять в кавычки первый параметр, или во втором параметре указать [неверный] столбец, с пустыми ячейками.=IMPORTRANGE("TABLE1_URL"; "Лист1!A:A")
=IMPORTRANGE("TABLE2_URL"; "Лист2!A:A")
=MATCH(A1;B:B;0)
, размножено растягиванием вниз на сколько надо.#N/A
показывает?=MATCH(A1;B:B;0)
--skip-character-set-client-handshake
, что и повлекло беды с кракозябрами.