将 html 转换为文本表示并保留标签的空白含义 - 如何?
考虑这样的 html 片段:
<p>foo</p><p>bar</p>
如果你运行(例如)jQuery text
,你将得到“foobar”——所以它实际上是原始文本,而不是文本表示。
我正在寻找一些准备使用的库来获取文本表示,在本例中它应该是 - “foo\nbar”。或者聪明地提示如何使这尽可能简单;-)。
注意:我不是在寻找漂亮的输出文本,而只是保留空格的含义,因此对于:
<tr><td>foo</td><td>bar</td></tr>
<tr><td>1</td><td>2</td></tr>
我会很高兴
foo bar
1 2
它不一定是:(
foo bar
1 2
但当然没有造成任何伤害)。
Consider such html piece:
<p>foo</p><p>bar</p>
If you run (for example) jQuery text
for it you will get "foobar" -- so it is raw text actually, not textual representation.
I am looking for some ready to use library to get textual representation, in this case it should be -- "foo\nbar". Or clever hints how to make this as easy as possible ;-).
NOTE: I am not looking for beautiful output text, but just preserved meaning of whitespaces, so for:
<tr><td>foo</td><td>bar</td></tr>
<tr><td>1</td><td>2</td></tr>
I will be happy with
foo bar
1 2
it does NOT have to be:
foo bar
1 2
(but of course no harm done).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您是否看过
innerText
或textContent
特性?示例
将 PRE 标记添加到正文并附加正文文本。
编辑
使用范围可以在 Firefox 中使用吗?
编辑
看来你被这样的解析函数困住了。
Have you looked at the
innerText
ortextContent
properties?Example
Adds a PRE tag to the body and appends the body text.
Edit
Does using a range work with firefox?
Edit
It looks like you're stuck with a parsing function like this then.
我可能与 Zapthedingbat 同时开始编写自己的函数,因此仅供记录:
令我惊讶的一件事 - 我无法开始
工作,这很遗憾,因为我大部分时间都花在 C# 上,而且我像这样的语法,理论上它应该在JS中起作用,但事实并非如此。
I started writing my own function probably at the same time as Zapthedingbat, so just for the record:
One thing I am surprised with -- I couldn't get
working, and it is a pity, because I spend most time in C# and I like this syntax, theoretically it should work in JS, but it doesn't.