我正在使用struts,我从数据库获取html文本,并将其存储在字符串中并将其传递给jsp。现在在jsp中,我必须从该html字符串中提取纯文本,并且必须使用javascript在TextArea中显示。
请提出一些解决方案,我不允许使用jquery。
答案 0 :(得分:0)
你可以尝试类似迷你解析器的东西。 喜欢这个功能:
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-Tags转换为BB-Codes。或者用其他东西替换BB代码。
答案 1 :(得分:0)
您可以将加载的HTML附加到dom,然后使用element.innerText
删除所有HTML,只留下纯文本(如果这是您想要做的 - 我认为不是完全清楚你的问题)