基于 REGEXP 的 string.prototype.split 插入故障
REGEXP based string.prototype.split insertion glitch
我正在研究一个可以读取HTML的解析器,但是拆分它的代码会导致"l"入到生成的数组的所有其他条目中。
正则表达式是这样的:
textarea.value.split(/(?=<(.|'n)+>)/)
它应该做的是拆分条目/退出/单个 HTML/XML 标记,同时忽略制表符和行终止符(它只是将它们附加到拆分时使用的标记)
我可以在现场了解一下发生了什么吗?您可以在此处查看和编辑操作中的代码:http://jsfiddle.net/termtm/ew7Mt/2/只需在控制台中查看它产生的结果。
编辑:MaxArt是正确的,最后<html>
的l导致异常为"l"
试试这个:
textarea.value.split(/(?=<[^>]+>)/);
但。。。阿尔尼塔克说的。一个基于正则表达式的成熟HTML解析器,特别是Javascript中正则表达式的功能支持很差,将是一个可怕的(和缓慢的)混乱。
我还是要找出你发现的奇怪行为的原因。请注意,"l"(ell)是"<html>"
的最后一个字母,即HTML代码的第一个标签。将其更改为其他内容,您会注意到字母发生了变化。
相关文章:
- 将样式表插入iframe
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- 如何动态插入jquery代码
- 动态插入的表:JQuery未检测到最后一行
- str.split(someString).join(someOtherString)是否等效于替换
- 使用JavaScript动态插入DIV的成本有多高
- 带有填充属性的SVG矩形显示在包含元素的上方插入框阴影
- 将对象动态插入到现有对象中
- 将数组中的值插入到表中
- 在 Java 中的 JavaScript 函数中插入 Wicket 值
- 如何使用split()将1.18.0-AAA-1转换为1.18.0js
- 我如何在数字插入中使用逗号,这样它就不会'不要破坏我的输入字段
- 使用PHP插入HTML在JavaScript上不起作用
- javascript:将数据库中的数据插入到html5文本字段中
- 从数据库中获取数据并插入JavaScript变量
- 如何使用innerHtml正确插入html
- AngularJS指令,在元素后插入HTML
- 当用户按下回车键时,自动在text区域/text中插入消息
- 如何使用JS禁用表行,并在MYSQL中插入所选选项
- 基于 REGEXP 的 string.prototype.split 插入故障