JS -如何分割文本<br>并放置在2 <p>'s
JS - How to split text at a <br> and place in 2 <p>'s
我想做的是扫描段落的innerHTML并找到在段落标签之间可以以各种形式出现的换行符
& lt;/p>:
<br>, <br />, or <br></br>
并删除它们。但是,在换行的地方,我想用document.createElement('p')把它之前的所有文本放到它自己的段落中,然后把它之后的所有文本放到另一个新段落中。
但是,如果有超过2个换行符在一起,中间没有文本,或者只有空白,那么删除/忽略它,不要把它放在单独的段落中。
下面是我的意思的一个例子。下面是修改前的内容:
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus convallis nisi sem, id gravida felis suscipit at. Sed ipsum felis, posuere ut turpis at, faucibus tempor dui. Nunc gravida sapien id velit vestibulum euismod.
<br />
<br />
Praesent vehicula rhoncus bibendum. Aenean tempus maximus aliquam. Nulla facilisi. Maecenas justo felis, faucibus ut posuere eget, fringilla et arcu. Sed ut pellentesque leo, a tincidunt tellus.</p>
我想把它改成:
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus convallis nisi sem, id gravida felis suscipit at. Sed ipsum felis, posuere ut turpis at, faucibus tempor dui. Nunc gravida sapien id velit vestibulum euismod.</p>
<p>Praesent vehicula rhoncus bibendum. Aenean tempus maximus aliquam. Nulla facilisi. Maecenas justo felis, faucibus ut posuere eget, fringilla et arcu. Sed ut pellentesque leo, a tincidunt tellus.</p>
这是否可以在Javascript中实现?感谢您的阅读!
第一个简单的答案是:
s = prompt('Input HTML text example', '<p>...your text here...</p>');
if(!!s) {
console.log(s.replace(/(<br ?'/?>)+/ig, '</p><p>'));
}
此方法假设原始文本是通过某种所见即所得编辑器输入的,因此:
- 我们不需要检查整个文本是否被
<p>...</p>
包裹 - 你引用的
</br>
是没有关系的
相反,如果文本以HTML形式输入,我们可能会遇到任何问题,因此它需要一个完全不同的解决方案,基于对文本的编程详细分析。
相关文章:
- 在文本区域的焦点上分割渐变
- 在所选选项卡JQuery上分割文本fadeIn()
- JS/Jquery:字符串到单词的文本分割脚本使用字典和最长匹配
- 在 Ckeditor 中,删除文本前后的 br 标签
- 用于匹配文本的正则表达式仅包含空格和 br 标记
- 如何从通过json_encode传递的mysqldb中分割行,以在单独的文本框中显示
- Angularjs-转换<br/>转换为纯文本
- Jquery<br>在html中,在展开过程中导致连续的文本节点
- 在文本之间添加br标记(第二行省略号)
- 如何找到文本的绝对或相对位置或<br/>在HTML中
- 分割抽取文本周围的双引号内的Eval语句在Imacros
- 如何用分割(_)替换文本
- Textarea将文本分割成行和颜色
- Javascript(没有库)分割文本,用不同的文本填充文本框
- 分割文本(字符串)在不同的数组Javascript
- JS -如何分割文本
并放置在2's
- 分割文本基于第一个数字javascript
- 如何在Javascript对象中自动分割文本
- 将br插入文本节点
- 如果用户将32个字符粘贴到license文本框中,则首先分割文本框