js追加html内容换行符,javascript – 从HTML中提取文本,同时保留块级元素换行符
考虑:
/**
* Returns the style for a node.
*
* @param n The node to check.
* @param p The property to retrieve (usually 'display').
* @link http://www.quirksmode.org/dom/getstyles.html
*/
this.getStyle = function( n, p ) {
return n.currentStyle ?
n.currentStyle[p] :
document.defaultView.getComputedStyle(n, null).getPropertyValue(p);
}
/**
* Converts HTML to text, preserving semantic newlines for block-level
* elements.
*
* @param node - The HTML node to perform text extraction.
*/
this.toText = function( node ) {
var result = '';
if( node.nodeType == document.TEXT_NODE ) {
// Replace repeated spaces, newlines, and tabs with a single space.
result = node.nodeValue.replace( /\s+/g, ' ' );
}
else {
for( var i = 0, j = node.childNodes.length; i < j; i++ ) {
result += _this.toText( node.childNodes[i] );
}
var d = _this.getStyle( node, 'display' );
if( d.match( /^block/ ) || d.match( /list/ ) || d.match( /row/ ) ||
node.tagName == 'BR' || node.tagName == 'HR' ) {
result += '\n';
}
}
return result;
}
也就是说,有一个例外或两个,遍历每个节点并打印其内容,让浏览器的计算样式告诉你什么时候插入换行符。
js追加html内容换行符,javascript – 从HTML中提取文本,同时保留块级元素换行符相关推荐
- js中的块级元素和行级元素
块级元素和行内元素的定义 块级元素 总是在新行上开始: 高度,行高以及外边距和内边距都可控制: 宽度缺省是它的容器的100%,除非设定一个宽度. 它可以容纳内联元素和其他块元素 行内元素 和其他元素都 ...
- html块中的内容垂直居中,css如何设置行内元素与块级元素的内容垂直居中
首先我们先了解一下行内元素和块级元素 行内元素(内联元素):没有自己的独立空间,它是依附于其他块级元素存在的,空间大小依附于内容多少.行内元素没有度.宽度.内外边距等属性. 块级元素:占据独立的空间, ...
- 【原】如何实现IE6下块级元素的内容自动收缩
近期在做提示层组件的开发,遇到了一个IE6常见的bug....想出了几个解决的办法,挺有意思的,这里分享给大家. 由于IE6浏览器中,display:inline-block只能触发IE的haslay ...
- html 提取pdf,使用PDF.js从PDF中提取文本(2019)
正如标题所说,我正在尝试使用由Mozilla维护的PDF.js从PDF中提取文本.我知道前面关于stackoverflow的问题,但我不知道从哪里开始. 我试着跟着这个 article 这件事我需要帮 ...
- php 提取文字,如何使用PHP从word文档中提取文本内容?
我想用PHP从word文档中提取文本内容. 我在Microsoft Word for Mac 2011中创建了一个新的单词文档. 编辑:也通过在Windows 7中的Microsoft Word中创建 ...
- c语言实现字符串中提取数字,遇到非字符串则换行
思路:将str里面的数字复制到deststr中,如果是非数字则赋值一个换行符 难点在于换行符添加后,deststr需要步进1,所以设置两个计数器strno和destno用于控制deststr何时步进
- java 正则提取$ 中内容_JAVA 使用正则从文字中提取想要的内容
有时候我们想从一段文字中提取想要的内容,如省市区地址中提取出省市,从股票的数据中提取出关键的价格信息,抓取HTML文件后提取内容等等这些场景,这时我们可以使用JAVA正则表达式帮助我们提取出想要的数据 ...
- 使用 JavaScript 从字符串中提取数字
在 JavaScript 中,有多种方法可以从字符串中提取数字.一种方法是使用 match() 方法和正则表达式来搜索字符串中的所有数字.另一种方法是使用 replace() 方法和正则表达式从字符串 ...
- jq输出html 单引号引号转义符,javascript - 由于JSON中的单引号转义,jQuery.parseJSON抛出“无效的JSON”错误...
根据JSON网站上的状态机图,只允许转义双引号字符,而不是单引号. 单引号字符不需要转义: 更新 - 有兴趣的人的更多信息: Douglas Crockford没有具体说明为什么JSON规范不允许字符 ...
最新文章
- Linux疑难杂症解决方案100篇(十二)-ubuntu中安装ftp服务器
- vue click事件_vue指令用法
- php 正则分隔_探讨PHP函数split()如何使用正则表达式切割字符串
- GDAL源码剖析(八)之编译GEOS和PROJ4库
- 测试librdkafka
- 【每日新闻】三星折叠手机媒体试用出故障:屏幕失灵 铰链处凸起
- mac终端查看IP信息
- html5的calc,CSS 计算属性 calc()的完整指南(下)
- python 麻将算胡,快速算法 没有递归,不超过100行
- 【论文翻译】The Quantum Internet: Networking Challenges in Distributed Quantum Computing
- Google全系列产品不再信任赛门铁克某款根证书-转载
- MySQL 自增序号
- php 随机生成邮箱,php 生成随机帐号密码邮箱
- ubuntu中的apt终端命令解析
- 找工作必看:上海知名互联网公司盘点(全)
- z—libirary最新地址获取,zlibirary地址获取方式,zliabary最新地址,zliabary官网登录方式,zliabary最新登陆
- 微信小程序学习文档指南
- android AOSP 下载
- python医学科研中能做什么-排名第一的Python语言,是如何应用于医疗临床?
- 桌面显示电脑配置的PE_你还用软件看电脑配置?分享三种无需软件查看配置的方法...