热从一堆html标记中提取数据?

时间:2013-07-17 23:55:33

标签: javascript jquery ckeditor

我正在尝试识别CKeditor中的文字。

ckData包含来自用户输入的Ckeditor的html标记和表。

例如

text here texts here texts here
second line texts...etc.
<br>
<table>
  ...
</table>

more texts here...

<table>
....
</table>

我希望能够从ckData获取所有文本。

我可以使用以下代码获取表格文本

   var contents = {};
    var temp = document.createElement('div');
    var instance = this;
    temp.innerHTML = ckData;

    var tables = temp.getElementsByTagName('table')
    //use tables as array...
    for(var i = 0; i<tables.length; i++){
        var table = tables[i];
        contents.rowsCount = $('tr', table).length;
        contents.columnsCount = $('td', table).length / question.rowsCount;
        contents.texts='';

        $(table).find('td').each(function(){
                contents.push($(this).text().trim());
                contents.texts += $(this).text()
        })
    }

我希望能够在表格之外提取文本,并保持ckData的原始顺序。

所以我希望得到的最终contents变量就像:

first part of texts

table cell data //got this

second part of texts

table cell data //got this

我收到了table cell数据,但我不确定如何将texts置于table结构之外。

我希望我能解释清楚。非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

您可以在jQuery中简单地使用.text()函数。它只返回文本并修剪所有标记代码。