我想从一段html中提取纯文本。我知道像.text()这样的常用方法。然而,这似乎不起作用。我收到一个看起来像这样的字符串:
<p class="MsoNormal" style="margin-bottom: 6pt; text-align: justify;">A concep&ccedil;&atilde;o e projeto de qualquer produto requer do projetista a habilidade de examinar fatores que determinam o tipo (de produto), a informa&ccedil;&atilde;o a ser exibida, o perfil de usu&aacute;rio, o padr&atilde;o de uso (do produto) e a intera&ccedil;&atilde;o do usu&aacute;rio com o produto. Perceba que esses fatores compreendem a base do que &eacute; denominado &ldquo;user experience&rdquo;. Mas, o que &eacute; <em>user experience</em>? Trata-se da experi&ecirc;ncia do usu&aacute;rio quando interage com produtos ou servi&ccedil;os. Aqui, produto pode ser qualquer coisa como, por exemplo, um fog&atilde;o, uma ma&ccedil;aneta de porta, um painel de autom&oacute;vel, um iPod, um iPad ou software. Qualquer desses produtos ou at&eacute; servi&ccedil;os (como oferecidos em web sites), t&ecirc;m a usabilidade como atributo determinante da qualidade percept&iacute;vel aos usu&aacute;rios. Tudo isso nos remete a uma caracter&iacute;stica importante a qualquer produto ou servi&ccedil;o: simplicidade. Nesse sentido, este artigo trata de <em>user experience</em> (experi&ecirc;ncia do usu&aacute;rio) pode ser considerada para prover maior usabilidade a produtos na era da conectividade.</p>
如果我使用众所周知的提取文本的方法,它只会留下html标签。
我想保留由特殊字符代表的字符,例如&
但我想删除html标记,例如<p class
= ...有干净的解决方案吗?
答案 0 :(得分:1)
这可能会起到作用:
var myStr = '<p class="MsoNormal" style="margin-bottom: 6pt; text-align: justify;">A concep&ccedil;&atilde;o e projeto de qualquer produto requer do projetista a habilidade de examinar fatores que determinam o tipo (de produto), a informa&ccedil;&atilde;o a ser exibida, o perfil de usu&aacute;rio, o padr&atilde;o de uso (do produto) e a intera&ccedil;&atilde;o do usu&aacute;rio com o produto. Perceba que esses fatores compreendem a base do que &eacute; denominado &ldquo;user experience&rdquo;. Mas, o que &eacute; <em>user experience</em>? Trata-se da experi&ecirc;ncia do usu&aacute;rio quando interage com produtos ou servi&ccedil;os. Aqui, produto pode ser qualquer coisa como, por exemplo, um fog&atilde;o, uma ma&ccedil;aneta de porta, um painel de autom&oacute;vel, um iPod, um iPad ou software. Qualquer desses produtos ou at&eacute; servi&ccedil;os (como oferecidos em web sites), t&ecirc;m a usabilidade como atributo determinante da qualidade percept&iacute;vel aos usu&aacute;rios. Tudo isso nos remete a uma caracter&iacute;stica importante a qualquer produto ou servi&ccedil;o: simplicidade. Nesse sentido, este artigo trata de <em>user experience</em> (experi&ecirc;ncia do usu&aacute;rio) pode ser considerada para prover maior usabilidade a produtos na era da conectividade.</p>'
var decoded = $("<div/>").html(myStr).text();
console.log(decoded);
输出将删除HTML,但保留实体。
JSFiddle:https://jsfiddle.net/9Lpq24qv/
答案 1 :(得分:0)
根据Hanlets的回答,我找到了一个有效的解决方案。然而,它看起来对我来说仍然不是很优雅,也许有人知道更好的方式。
var myStr = '<p class="MsoNormal" style="margin-bottom: 6pt; text-align: justify;">A concep&ccedil;&atilde;o e projeto de qualquer produto requer do projetista a habilidade de examinar fatores que determinam o tipo (de produto), a informa&ccedil;&atilde;o a ser exibida, o perfil de usu&aacute;rio, o padr&atilde;o de uso (do produto) e a intera&ccedil;&atilde;o do usu&aacute;rio com o produto. Perceba que esses fatores compreendem a base do que &eacute; denominado &ldquo;user experience&rdquo;. Mas, o que &eacute; <em>user experience</em>? Trata-se da experi&ecirc;ncia do usu&aacute;rio quando interage com produtos ou servi&ccedil;os. Aqui, produto pode ser qualquer coisa como, por exemplo, um fog&atilde;o, uma ma&ccedil;aneta de porta, um painel de autom&oacute;vel, um iPod, um iPad ou software. Qualquer desses produtos ou at&eacute; servi&ccedil;os (como oferecidos em web sites), t&ecirc;m a usabilidade como atributo determinante da qualidade percept&iacute;vel aos usu&aacute;rios. Tudo isso nos remete a uma caracter&iacute;stica importante a qualquer produto ou servi&ccedil;o: simplicidade. Nesse sentido, este artigo trata de <em>user experience</em> (experi&ecirc;ncia do usu&aacute;rio) pode ser considerada para prover maior usabilidade a produtos na era da conectividade.</p>'
var d1= $("<div/>").html($("<div/>").html(myStr).text())
d2=d1.text()
console.log(d2);
JSFiddle:https://jsfiddle.net/9Lpq24qv/3/