我有一个HTML字符串,想要获取所有内部的内部html。在过去,我使用jQuery在JavaScript中完成它,但我现在正在使用Appcelerator,并且不可能在那里使用DOM。 我有一个适用于PHP的正则表达式,但我不知道如何在JS中使用它。 有没有人知道如何在JS中使用这个正则表达式或有其他解决方案。
php regex:
preg_match_all("#\<tr\>(.+?)\<\/tr\>#s", $html, $match);
答案 0 :(得分:0)
我在这个页面上得到了几乎所有div的内容:
var html = document.body.innerHTML;
var matches = html.match( /<div>(.+?)<\/div>/ig );
console.log( matches );
你可以在控制台试试。
答案 1 :(得分:0)
我会做这样的事情(未经测试):
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或更多任何不是'&gt;'的东西“并且比与每个角色相比要快得多'。'可以表示直到匹配成立。使用'。'的唯一原因。 regEx中的通配符是找到它不代表的真正古老的空白字符。对于处理大型表的哑浏览器regEx引擎而言,这实际上可能会产生巨大的差异。