我正在使用struts,我从数据库中获取html文本,并将其存储在一个字符串中并将其传递给jsp。现在在 jsp 中,我必须从该 html 字符串中提取纯文本,并且必须使用 javascript 在 TextArea 中显示。
请提出一些解决方案,我不允许使用 jquery。
我正在使用struts,我从数据库中获取html文本,并将其存储在一个字符串中并将其传递给jsp。现在在 jsp 中,我必须从该 html 字符串中提取纯文本,并且必须使用 javascript 在 TextArea 中显示。
请提出一些解决方案,我不允许使用 jquery。
您可以尝试类似迷你解析器的东西。喜欢这个功能:
function HTMLtoBB(html) {
search = new Array( /\<b\>(.*?)\<\/b\>/g,
/\<i\>(.*?)\<\/i\>/g,
/\<u\>(.*?)\<\/u\>/g,
/\<font size=\'(.*?)\'\>(.*?)\<\/font\>/g,
/\<font color=\'(.*?)\'\>(.*?)\<\/font\>/g,
/\<img src=\'(.*?)\'\>/g,
/\<a href=\'(.*?)\'\>(.*?)\<\/a\>/g,
/\<blockqoute\>(.*?)\<\/blockquote\>/g,
/\<center\>(.*?)\<\/center\>/g
);
replace = new Array("[b]$1[/b]",
"[i]$1[/i]",
"[u]$1[/u]",
"[size=$1]$2[/size]",
"[color=$1]$2[/color]",
"[img=$1]",
"[url=$1]$2[/url]",
"[quote]$1[/quote]",
"[center]$1[/center]"
);
for (i = 0; i < search.length; i++) {
html = html.replace(search[i], replace[i]);
}
return html;
}
这会将 HTML 标记转换为 BB 代码。或者您将 BB 代码替换为其他代码。
您可以将加载的 HTML 附加到 dom,然后用于element.innerText
剥离所有 HTML,只留下纯文本(如果这是您想要做的 - 我认为您的问题并不完全清楚)