Javascript 如何从纯文本中提取html标记
我从CKEditor获得了大量纯文本的html数据。它包含表结构和一堆html标记 我想知道是否有一种方法只提取表结构和td数据 纯文本可以是这样的Javascript 如何从纯文本中提取html标记,javascript,jquery,ckeditor,Javascript,Jquery,Ckeditor,我从CKEditor获得了大量纯文本的html数据。它包含表结构和一堆html标记 我想知道是否有一种方法只提取表结构和td数据 纯文本可以是这样的 first table....bunch more texts here... <table> <tr><td> data1 </td></tr> <tr><td> data2 </td></tr> <tr&
first table....bunch more texts here...
<table>
<tr><td> data1 </td></tr>
<tr><td> data2 </td></tr>
<tr><td> data3 </td></tr>
</table>
end of table. test data here...
<table>
<tr><td> data4 </td></tr>
<tr><td> data5 </td></tr>
<tr><td> data6 </td></tr>
</table>
end of second table and bunch more texts....
但我刚刚意识到这些文本不在dom
中。它们只是我从CKEditor
中提取的纯文本
如何提取这些表
数据
谢谢你的帮助 您需要下面这样的东西,它将所有表拉入一个数组,然后对它们进行迭代。这里有一把小提琴,它也显示了这一点。这里我假设tabledata是包含这些表的DOM元素的id
var tableData = document.getElementById('tabledata');
var tables = tableData.getElementsByTagName('table');
var data = new Array();
for(var k = 0; k < tables.length; k++){
var table = tables[k];
for(var i=0; i< table.rows.length; i++){
var row = table.rows[i].cells;
for(var j=0; j < row.length; j++){
data.push(row[j].innerHTML);
}
}
}
var tableData=document.getElementById('tableData');
var tables=tableData.getElementsByTagName('table');
var data=新数组();
对于(var k=0;k
注意:在本例中,我将所有表中的所有数据一次推送到一个数组中一行。我假设您有一个
tableData
字符串,您希望从该字符串中提取DOM节点,以便能够处理它们
为了避免解析,可以将此字符串插入到临时DOM元素中
var temp = document.createElement( 'div' );
div.innerHTML = tableData;
// Retrieve all tables.
var tables = div.getElementsByTagName( 'table' );
你能展示一下你用来设置
tableData
的代码吗?@jacob它实际上只是我从CKEditor得到的纯文本。var tableData=CKEDITOR.instances[id].getData()
var temp = document.createElement( 'div' );
div.innerHTML = tableData;
// Retrieve all tables.
var tables = div.getElementsByTagName( 'table' );