管周围有一百万个cheatsheet,它们列举了不同层次的理解由各种版本和HTML规范指定的字符实体。我不想相信他们中的任何一个,所以我想我会在这里抛出它,看看是否有人发布了更权威的答案。什么是最长和最短的HTML字符实体名称?
因此,我们假设我想要使用正则表达式匹配任何和所有字符引用和实体。我会从/&(?:#(?:x[0-9a-f]+|[0-9]+)|[a-z]{???,???});/i
开始。但是什么会进入???
?我可以考虑长度为两个字符的实体,如lt
和gt
,但在HTML的任何规范中是否存在任何单字母实体?同样,什么是最长的实体?最后,那些是除了直接输入它们之外,仅有的三种用于表示HTML中文字字符的语法,他们不是吗?
干杯!
为什么你需要指定长度呢?一个简单的'+'应该这样做,不是吗? – deceze
不是真的......&laksjdlfkjasdlkfjadslkfjasdlkfjasldfkj;只会逐字呈现,因此不是一个实体。 – wwaawaw
因此'&foo;'因为它不是一个定义的实体。这不是长度。 – deceze