- 1
<item >1</item>
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−17
<item >1</item>
Чо, так можно?
3_14dar 05.12.2016 01:43 # −3
inkanus-gray 05.12.2016 06:46 # +1
TOPT 05.12.2016 11:14 # 0
Где здесь J, inkanus-gray?
AnalniyTerzatel 05.12.2016 11:44 # −1
barop 05.12.2016 13:12 # +2
bormand 05.12.2016 21:31 # +1
> пробел после имени тега
Ну и зачем ты парсишь HTML регулярками?
bayan 05.12.2016 21:48 # +1
bormand 05.12.2016 21:51 # +2
bayan 05.12.2016 21:52 # +1
А потом Сёма узнает что есть незакрытые таги и юникод и комментарии
3_14dar 05.12.2016 22:40 # −1
> об мой сайт
У тебя сайт есть?
guest 06.12.2016 20:18 # 0
bormand 06.12.2016 20:19 # 0
3.5 анона
guest 06.12.2016 20:20 # 0
bormand 06.12.2016 20:21 # 0
guest 06.12.2016 20:28 # 0
А вообще, можно было бы и поспамить говнокод ссылкой. Глядишь, в конфе было бы больше 3.5 анонов неймфагов.
O____O 07.12.2016 13:36 # 0
1024-- 06.12.2016 01:29 # 0
Хм, и так можно? Но по какой логике? Про открывающийся тэг проде Инканус разъяснил.
> из принципа буду добавлять везде пробелы
Мощный ультиматум. Уже вижу, как 3_14dar надевает кастет, шубу и едет в Сибирь.
3_14dar 06.12.2016 02:34 # −1
>об мой сайт
Деревенский сортир обаме и меркель вход запрещен.jpg
inkanus-gray 06.12.2016 14:19 # +1
Вероятно, разрешение на вставку пробелов появилось в процессе унификации. В XML для элемента без содержимого вместо такого кода: Разрешили писать такой код: А раз у открывающего тега и у «самозакрытого» тега пробелы разрешены, то почему бы их не разрешить у закрывающего.
Lokich 07.12.2016 14:07 # 0
bayan 07.12.2016 21:51 # 0
Потому что раньше парсить HTML было проще, и статически проверять -- тоже.
А теперь можно случайно не закрыть таг, и узнать об этом через три месяца, когда всё поедет.
С другой стороны это же веб: в нем принято использовать максимально хуёвый инструмент из всех возможных.
roman-kashitsyn 07.12.2016 21:55 # +1
Пропусти страничку через валидатор и будет счастье. "Случайно" оно не поедет, версия HTML указывается в DOCTYPE.
bayan 07.12.2016 21:59 # 0
Правильно. Зачем иметь возможность проверять документ на валидность локально? Зачем там fast fail? Пусть это делает внешний сервис.
>>"Случайно" оно не поедет,
Случайно у тебя добавится текст на веб сайте, или будет другой резолюшен, и так как ты вообще не представляешь как и почему твой сайт работает (а если ты перепутал таги то ты не представляешь) то тебя ждет сюрприз.
roman-kashitsyn 07.12.2016 22:04 # 0
Ты про вещи вроде tidy не слышал чтоли? Напиши себе интеграционный тест, который поднимает локальный сервер, запрашивает странички и валидирует на CI-сервере.
bayan 07.12.2016 22:09 # +2
Во времена XHTML мне даже самый тупой IDE мог выстроить код в лесенку и подсветить красным пропущенный таг, в теперь мне нужно tidy использовать?
Какое у НЕ XML-based языка разметки преимущество кроме того, что дебилам с блокноатами сложно таги закрывать?
roman-kashitsyn 07.12.2016 22:22 # 0
> Во времена XHTML
О каких временах XHTML ты говоришь? HTML изначально допускал незакрытые теги и кучу всяких вольностей. XHTML родился на волне увлечения XML, он никогда толком не был широко распространён. Он был настолько мертворождённым, что даже его создатели давно его забросили и пересели на HTML5.
Собственно, поэтому я и неправильно интерпретировал "раньше парсить html было проще".
bayan 07.12.2016 22:27 # +1
Примерно о середине нулевых
>>что даже его создатели давно его забросили и пересели на HTML5.
Вопрос в том, зачем было разрешать HTML5 а не XHTML5?
Запретили бы незакрытые таги, сказали бы что с незакрытым тагом все переключается в legacy loose mode, где всякие ваши говномодные <input type="date" не работают, и через пять лет всё везде бы закрывалось.
А теперь я хочу распарсить доку по джанге и конвернуть в нужный мне формат, и не могу сделать это каким-нить XSLем, потмоу что половина тагов там не закрыта.
inkanus-gray 07.12.2016 22:38 # +1
Я не могу вложить <ul> в <p>, потому что перед <ul> элемент <p> автоматически закроется. И это говно в популярных браузерах работает даже в режиме XHTML, хотя XHTML автозакрытия тегов не подразумевает.
bayan 07.12.2016 22:43 # +1
Если указать правильный content-type (application/xhtml+xml ) и не закрыть таг, что IE покажет ошибку вместо страницы.
К сожалению в мире не более ноля сайтов используют этот приём.
inkanus-gray 07.12.2016 22:48 # 0
Вероятно, по этой причине многие сервера возвращают text/html вместо application/xhtml+xml даже для XHTML.
bayan 07.12.2016 22:54 # +1
------
Веб нужно запретить у хуям, и разработать WEB 3.0.
В нем будет специльный виртуальный машин, под который и верстать и писать можно будет на оче хорших языках
inkanus-gray 08.12.2016 02:01 # +2
bayan 08.12.2016 02:08 # 0
AnalniyTerzatel 08.12.2016 14:10 # 0
O____O 08.12.2016 14:54 # 0
inkanus-gray 06.12.2016 14:22 # +1
3_14dar 05.12.2016 22:39 # 0
bayan 05.12.2016 22:41 # 0
ЭТО ВЕЛЛ ФОРМД ЭКСЭМЭЛЬ
bormand 05.12.2016 22:41 # 0
bayan 05.12.2016 22:44 # 0
bormand 05.12.2016 22:49 # +1
https://www.w3.org/TR/xml/#sec-starttags
bayan 05.12.2016 22:50 # +2
Это _разные_ языки, прост тут они ведут себя одинаково
inkanus-gray 06.12.2016 14:32 # 0
В главе 8 описан синтаксис HTML, в главе 9 — синтаксис XHTML (да, XHTML5 существует и даже поддерживается всеми современными браузерами, хотя общепризнанного DTD нет).
В главе 1.6 вообще разведён холивар:
https://www.w3.org/TR/html5/introduction.html#html-vs-xhtml
3_14dar 05.12.2016 22:49 # 0
3_14dar 05.12.2016 22:51 # 0
http://stackoverflow.com/questions/3314535/white-space-inside-xml-html-tags
Осталось узнать: кто это придумал и нахуя; какой либой автор высрал такой xml.
bormand 05.12.2016 23:01 # +1
bayan 05.12.2016 23:04 # +3
3_dar 02.06.2020 00:26 # 0
inkanus-gray 05.12.2016 23:45 # +2
Ребята, давайте вспомним, что бывает после имени элемента. После имени элемента могут следовать атрибуты, отделённые от имени элемента и друг от друга пробелами, а точнее, цепочками, определяемыми такой регуляркой:
(в HTML ещё разрешён символ #xC).
А теперь внимание! Что будет, если атрибутов нет? Подсказка: после последнего атрибута разрешён разделитель подобно тому, как лишний разделитель элементов массива в некоторых языках.
bayan 05.12.2016 23:51 # +1
это BNF
https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form
1024-- 06.12.2016 01:25 # 0
barop 06.12.2016 02:40 # +1
С другой стороны регулярное выражение есть описание конечного автомата для разбора регулярной грамматики, а такой автомат и по BNF построить можно (и даже больше -- context free можно)
Так что квадрояйца это не регулярка, это КРУЧЕ чем регулярка
1024-- 06.12.2016 03:59 # 0
Прошу заметить, квадрояйца только с рекурсией при некоторых условиях круче, чем регулярка.
barop 06.12.2016 04:18 # 0
на самом деле это зависит от реализаци
3_14dar 06.12.2016 02:35 # 0
inkanus-gray 06.12.2016 05:26 # 0
Lokich 06.12.2016 14:00 # +1
inkanus-gray 06.12.2016 14:45 # +2
3_dar 02.06.2020 00:24 # 0
3_14dar 06.12.2016 19:32 # −3