【发布时间】:2011-05-08 04:26:15
【问题描述】:
我知道span strong 和em。还有其他人吗?
我正在尝试过滤链接内的文本,并且需要知道我应该不过滤哪些元素?
【问题讨论】:
-
我已将您的问题修改为谈论“元素”,而不是“标签”。
我知道span strong 和em。还有其他人吗?
我正在尝试过滤链接内的文本,并且需要知道我应该不过滤哪些元素?
【问题讨论】:
根据DTD,很多元素:
br | span | bdo | map
object | img | tt | i | b | big | small
ins | del | script | input | select | textarea | label | button
em | strong | dfn | code | q |
samp | kbd | var | cite | abbr | acronym | sub | sup
【讨论】:
<a><span><a /></span></a> 无效的规则)。此外,随着时间的推移,更新的规范已经发布。从 HTML 5(包括它的 XML 序列化)开始,<a> 的所有交互式后代都被禁止。
例如,对于 HTML 4.01 Transitional,您可以从 w3c 站点选择 DTD。然后在文档中搜索<!ELEMENT A 并导航实体,如%inline; 以了解允许的嵌套元素。
#PCDATA 是允许的。%inline;和%fontstyle;:TT | I | B | U | S | STRIKE | BIG | SMALL
%inline; 和%pharse;:EM | STRONG | DFN | CODE | SAMP | KBD | VAR | CITE | ABBR | ACRONYM
它们将依次具有其他嵌套元素。
您可以对其他 HTML DTD 重复该操作。
要了解 DTD 嵌套规则的工作原理,我建议阅读 tutorial。
【讨论】:
值得一提的是,"block-level links" 在 HTML5 中有效。
【讨论】:
<a> 内的其他内联标签应该是合法的,例如 <img>、<abbr> 等。以下是所有内联标签的列表:
http://en.wikipedia.org/wiki/Inline_tag#Inline_elements
另外,由于<a> 是一个正文标签,请仅在其中内嵌正文标签。
【讨论】:
如果您使用 XHTML 过渡,那么 font、b、i、sub、sup....AFAIK 几乎任何内联标记(除了另一个链接)都适合。
【讨论】: