我有一个 HTML 字符串,想要获取所有 tr 的内部 html。过去我在 JavaScript 中使用 jQuery 来完成此操作,但现在我使用 Appcelerator,并且在那里不可能使用 DOM。 我有一个适用于 php 的正则表达式,但我不知道如何在 JS 中使用它。 有谁知道如何在 JS 中使用这个正则表达式或有其他解决方案。
php 正则表达式:
preg_match_all("#\<tr\>(.+?)\<\/tr\>#s", $html, $match);
最佳答案
我会做这样的事情(未经测试):
var rowColArray = [], //2D format - first key will be row, second will be column
rowStrings.match(/<tr[^>]*>([^<]*)<\/tr>/ig),
i = rowStrings.length;
while(i--){
rowColArray[i] = rowStrings.match(/<td[^>]*>([^<]*)<\/td>/ig)
}
注意 [^>]*
和类似内容的使用:
这就像说“匹配 0 个或多个不是 '>' 的内容”,并且比比较每个字符 '.' 快得多。可以代表直到建立匹配。使用“.”的唯一原因正则表达式中的通配符是为了找到它不代表的真正古老的模糊空白字符。对于处理大型表的愚蠢浏览器正则表达式引擎来说,这实际上可能会产生相当大的差异。
关于javascript - 使用javascript获取所有表格行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10463985/