- 1
<item >1</item>
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
<item >1</item>
Чо, так можно?
3_14dar # 0
inkanus-gray # 0 ⇈
TOPT # 0 ⇈
Где здесь J, inkanus-gray?
AnalniyTerzatel # 0 ⇈
barop # 0 ⇈
bormand # 0 ⇈
> пробел после имени тега
Ну и зачем ты парсишь HTML регулярками?
bayan # 0 ⇈
bormand # 0 ⇈
bayan # 0 ⇈
А потом Сёма узнает что есть незакрытые таги и юникод и комментарии
3_14dar # 0 ⇈
> об мой сайт
У тебя сайт есть?
guest # 0 ⇈
bormand # 0 ⇈
3.5 анона
guest # 0 ⇈
bormand # 0 ⇈
guest # 0 ⇈
А вообще, можно было бы и поспамить говнокод ссылкой. Глядишь, в конфе было бы больше 3.5 анонов неймфагов.
O____O # 0 ⇈
1024-- # 0 ⇈
Хм, и так можно? Но по какой логике? Про открывающийся тэг проде Инканус разъяснил.
> из принципа буду добавлять везде пробелы
Мощный ультиматум. Уже вижу, как 3_14dar надевает кастет, шубу и едет в Сибирь.
3_14dar # 0 ⇈
>об мой сайт
Деревенский сортир обаме и меркель вход запрещен.jpg
inkanus-gray # 0 ⇈
Вероятно, разрешение на вставку пробелов появилось в процессе унификации. В XML для элемента без содержимого вместо такого кода: Разрешили писать такой код: А раз у открывающего тега и у «самозакрытого» тега пробелы разрешены, то почему бы их не разрешить у закрывающего.
Lokich # 0 ⇈
bayan # 0 ⇈
Потому что раньше парсить HTML было проще, и статически проверять -- тоже.
А теперь можно случайно не закрыть таг, и узнать об этом через три месяца, когда всё поедет.
С другой стороны это же веб: в нем принято использовать максимально хуёвый инструмент из всех возможных.
roman-kashitsyn # 0 ⇈
Пропусти страничку через валидатор и будет счастье. "Случайно" оно не поедет, версия HTML указывается в DOCTYPE.
bayan # 0 ⇈
Правильно. Зачем иметь возможность проверять документ на валидность локально? Зачем там fast fail? Пусть это делает внешний сервис.
>>"Случайно" оно не поедет,
Случайно у тебя добавится текст на веб сайте, или будет другой резолюшен, и так как ты вообще не представляешь как и почему твой сайт работает (а если ты перепутал таги то ты не представляешь) то тебя ждет сюрприз.
roman-kashitsyn # 0 ⇈
Ты про вещи вроде tidy не слышал чтоли? Напиши себе интеграционный тест, который поднимает локальный сервер, запрашивает странички и валидирует на CI-сервере.
bayan # 0 ⇈
Во времена XHTML мне даже самый тупой IDE мог выстроить код в лесенку и подсветить красным пропущенный таг, в теперь мне нужно tidy использовать?
Какое у НЕ XML-based языка разметки преимущество кроме того, что дебилам с блокноатами сложно таги закрывать?
roman-kashitsyn # 0 ⇈
> Во времена XHTML
О каких временах XHTML ты говоришь? HTML изначально допускал незакрытые теги и кучу всяких вольностей. XHTML родился на волне увлечения XML, он никогда толком не был широко распространён. Он был настолько мертворождённым, что даже его создатели давно его забросили и пересели на HTML5.
Собственно, поэтому я и неправильно интерпретировал "раньше парсить html было проще".
bayan # 0 ⇈
Примерно о середине нулевых
>>что даже его создатели давно его забросили и пересели на HTML5.
Вопрос в том, зачем было разрешать HTML5 а не XHTML5?
Запретили бы незакрытые таги, сказали бы что с незакрытым тагом все переключается в legacy loose mode, где всякие ваши говномодные <input type="date" не работают, и через пять лет всё везде бы закрывалось.
А теперь я хочу распарсить доку по джанге и конвернуть в нужный мне формат, и не могу сделать это каким-нить XSLем, потмоу что половина тагов там не закрыта.
inkanus-gray # 0 ⇈
Я не могу вложить <ul> в <p>, потому что перед <ul> элемент <p> автоматически закроется. И это говно в популярных браузерах работает даже в режиме XHTML, хотя XHTML автозакрытия тегов не подразумевает.
bayan # 0 ⇈
Если указать правильный content-type (application/xhtml+xml ) и не закрыть таг, что IE покажет ошибку вместо страницы.
К сожалению в мире не более ноля сайтов используют этот приём.
inkanus-gray # 0 ⇈
Вероятно, по этой причине многие сервера возвращают text/html вместо application/xhtml+xml даже для XHTML.
bayan # 0 ⇈
------
Веб нужно запретить у хуям, и разработать WEB 3.0.
В нем будет специльный виртуальный машин, под который и верстать и писать можно будет на оче хорших языках
inkanus-gray # 0 ⇈
bayan # 0 ⇈
AnalniyTerzatel # 0 ⇈
O____O # 0 ⇈
inkanus-gray # 0 ⇈
3_14dar # 0 ⇈
bayan # 0 ⇈
ЭТО ВЕЛЛ ФОРМД ЭКСЭМЭЛЬ
bormand # 0 ⇈
bayan # 0 ⇈
bormand # 0 ⇈
https://www.w3.org/TR/xml/#sec-starttags
bayan # 0 ⇈
Это _разные_ языки, прост тут они ведут себя одинаково
inkanus-gray # 0 ⇈
В главе 8 описан синтаксис HTML, в главе 9 — синтаксис XHTML (да, XHTML5 существует и даже поддерживается всеми современными браузерами, хотя общепризнанного DTD нет).
В главе 1.6 вообще разведён холивар:
https://www.w3.org/TR/html5/introduction.html#html-vs-xhtml
3_14dar # 0 ⇈
3_14dar # 0
http://stackoverflow.com/questions/3314535/white-space-inside-xml-html-tags
Осталось узнать: кто это придумал и нахуя; какой либой автор высрал такой xml.
bormand # 0 ⇈
bayan # 0 ⇈
3_dar # 0 ⇈
inkanus-gray # 0 ⇈
Ребята, давайте вспомним, что бывает после имени элемента. После имени элемента могут следовать атрибуты, отделённые от имени элемента и друг от друга пробелами, а точнее, цепочками, определяемыми такой регуляркой:
(в HTML ещё разрешён символ #xC).
А теперь внимание! Что будет, если атрибутов нет? Подсказка: после последнего атрибута разрешён разделитель подобно тому, как лишний разделитель элементов массива в некоторых языках.
bayan # 0 ⇈
это BNF
https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form
1024-- # 0 ⇈
barop # 0 ⇈
С другой стороны регулярное выражение есть описание конечного автомата для разбора регулярной грамматики, а такой автомат и по BNF построить можно (и даже больше -- context free можно)
Так что квадрояйца это не регулярка, это КРУЧЕ чем регулярка
1024-- # 0 ⇈
Прошу заметить, квадрояйца только с рекурсией при некоторых условиях круче, чем регулярка.
barop # 0 ⇈
на самом деле это зависит от реализаци
3_14dar # 0 ⇈
inkanus-gray # 0 ⇈
Lokich # 0 ⇈
inkanus-gray # 0 ⇈
3_dar # 0 ⇈
3_14dar # 0 ⇈