-1
我在嘗試識別中的文字。很熱從一堆html標記中提取數據?
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
數據,但我不知道怎麼去table
結構的texts
之外。
我希望我解釋得很好。十分感謝你的幫助!
爲什麼不使用'temp.textContent'(注意你將失去格式)? –
@PaulS。謝謝,但我需要維護表格以外的文本的HTML標記。 – FlyingCat
[如何獲取不屬於子項的容器內的文本]的可能重複(http://stackoverflow.com/questions/12819953/how-to-get-text-inside-of-container-that-is-非兒童部分)...這是諷刺的,[可以如何選擇jQuery文本節點?]的可能副本(http://stackoverflow.com/questions/298750/how-do-i-select -text-nodes-with-jquery)... duplicateception – Ohgodwhy