Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从纯文本中提取html标记_Javascript_Jquery_Ckeditor - Fatal编程技术网

Javascript 如何从纯文本中提取html标记

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&

我从CKEditor获得了大量纯文本的html数据。它包含表结构和一堆html标记

我想知道是否有一种方法只提取表结构和td数据

纯文本可以是这样的

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' );