草庐IT

html - HTML 是上下文无关语言吗?

阅读somerelatedquestions让我思考HTML的理论本质。我在这里不是在谈论类似XHTML的代码。我说的是像这种疯狂的标记,它是完全有效的HTML(!)鉴于SGML在此处注入(inject)的巨大复杂性,HTML是一种上下文无关语言吗?无论如何,它是一种正式语言吗?用语法?HTML5呢?我是正式语言概念的新手,所以请多多包涵。是的,我已经阅读了维基百科文章;) 最佳答案 ContextFree是语言理论中的一个概念,对解析器实现具有重要意义。上下文无关语言可以用上下文无关文法来描述,其中所有规则在箭头左侧都有一个非终结

html - HTML5 文档类型定义在哪里?

“旧的”HTML/XHTML标准有一个为它们定义的DTD(文档类型定义):HTML4.01http://www.w3.org/TR/html401/sgml/dtd.htmlXHTML1.0http://www.w3.org/TR/xhtml1/dtds.html#a_dtd_XHTML-1.0-Strict这个DTD指定了嵌套元素的规则——“哪些类型的元素可能出现在哪些类型的元素中”。我在这里为XHTML1.0制作了一个图表(抱歉,我不再拥有该资源)我想用新版本更新该图表,其中还包含新的HTML5元素。但是,似乎没有HTML5DTD。嵌套规则似乎是由HTML5中定义的各种内容模型定义

html - HTML5 文档类型定义在哪里?

“旧的”HTML/XHTML标准有一个为它们定义的DTD(文档类型定义):HTML4.01http://www.w3.org/TR/html401/sgml/dtd.htmlXHTML1.0http://www.w3.org/TR/xhtml1/dtds.html#a_dtd_XHTML-1.0-Strict这个DTD指定了嵌套元素的规则——“哪些类型的元素可能出现在哪些类型的元素中”。我在这里为XHTML1.0制作了一个图表(抱歉,我不再拥有该资源)我想用新版本更新该图表,其中还包含新的HTML5元素。但是,似乎没有HTML5DTD。嵌套规则似乎是由HTML5中定义的各种内容模型定义

php - PHP 中的容错 HTML/XML/SGML 解析

我有一堆类似HTML的遗留文档。比如,它们看起来像HTML,但是有额外的组成标签,这些标签不是HTML的一部分Thisisanexampleofafaketag我需要解析这些文件。PHP是唯一可用的工具。这些文档远不是格式正确的XML。我最初的想法是在PHP的DOMDocument上使用loadHTML方法。但是,这些方法在组成HTML标记时会阻塞,并且会拒绝解析字符串/文件。$oDom=newDomDocument();$oDom->loadHTML("Thisisanexampleofafaketag");//givesusDOMDocument::loadHTML()[funct

php - 如何使用 PHP 替换字符串中的非 SGML 字符?

我使用PHP4和HTML4.01(使用字符集ISO-8859-15,即latin-9)编写了一个留言簿。数据以字符集(ISO-8859-1,即latin-1)保存在MySQL数据库中。当有人输入来自不同字符集的字符时,浏览器似乎发送了经过编码的数据(实际上我还没有检查它的编码位置,...)。无论如何,在某些情况下,似乎字符没有编码保存在数据库中。因此,当我在HTML4.01文档中添加显示数据时,验证器会返回一条错误消息:nonSGMLcharacternumber146Youhaveusedanillegalcharacterinyourtext.HTMLusesthestandard

HTML5不是基于SGML,那它是基于什么的呢?

http://www.w3schools.com/tags/tag_doctype.aspHTML5isnotbasedonSGML,andthereforedoesnotrequireareferencetoaDTD.如果HTML5不是基于SGML,那么它基于什么标准? 最佳答案 HTML5标准指定了twoserializationsHTML5:“html”和“xml”。“xml”是一个有效的XML序列化(它又是SGML的一个子集)。“html”不再基于任何特定的序列化标准,ithasitsowncompleteserializa