Показаны сообщения с ярлыком html. Показать все сообщения
Показаны сообщения с ярлыком html. Показать все сообщения

Python: ElementTree и undefined entity

При разборе XML с помощью библиотеки ElementTree иногда возникает ошибка undefined entity, если исходный документ содержит сущности HTML, например  .  Бороться с этим можно разными способами: использовать (или подменять) тип документа в обявлении DTD, предварительно проходиться по исходному коду и заменять сущности на соответствующие символы Unicode. В Python3 самым коротким способом мне показалось использовать стандартный словарь сущностей из модуля html.entities:

Colspan=100%

Много раз сталкивался с ситуацией, когда надо сделать ячейку таблицы, объединяющую все столбцы (например для подзаголовка группы строк или как footer для всей таблицы). Если наперёд знаешь сколько столбцов,- не проблема, есть стандартный атрибут colspan, указываешь количество объединяемых ячеек, например colspan="2", всё работает.

А если страница выводится скриптом и количество столбцов наперёд неизвестно? И нет возможности посчитать в шаблонизаторе? В последний раз такая задача возникла при использовании Django, там шаблоны очень удобные, но с математикой там туго, а писать собственный template tag или filter казалось излишеством. Выкручивался либо изменением шаблона (чтобы такое объединение ячеек вообще не было нужно) либо городил в коде дополнительный подсчёт количества столбцов, пока не надоело. А когда надоело,- полез гуглить.

Оказалось, что не я один "хочу странного", куча народу уже сталкивалась с такой-же проблемой. Пробуют добавлять в свойства таблицы colspan="all" или colspan="0", - не во всех браузерах работает. На stackoverflow нашлось решение,- рекомендуют писать colspan="100%".

Попробовал на доступных браузерах,- работает везде.

Подсказки в полях ввода - реализация placeholder на JQuery

Понадобилось сделать небольшую обёртку для полей ввода в HTML, чтобы по умолчанию в пустом поле стоял текст подсказки (ну например, "введите номер телефона"), при входе в поле строка очищалась, при выходе и пустом значении подсказка возвращалась, а если что-то введено,- значение оставалось.
Написал коротенькую функцию на javascript с использованием библиотеки JQuery. На вход подаётся объект JQuery и строка для подсказки, текст подсказки устанавливается в поле и применяется CSS класс "hint" для оформления подсказки.