Gab*_*abe 102 javascript regex
我试图从Javascript中的字符串中删除所有的html标签.继承人我所拥有的......我无法弄清楚为什么它不起作用......任何人都知道我做错了什么?
<script type="text/javascript">
var regex = "/<(.|\n)*?>/";
var body = "<p>test</p>";
var result = body.replace(regex, "");
alert(result);
</script>
Run Code Online (Sandbox Code Playgroud)
非常感谢!
kar*_*m79 222
试试这个,注意HTML的语法太复杂了,正规表达式在100%的时间都不正确:
var regex = /(<([^>]+)>)/ig
, body = "<p>test</p>"
, result = body.replace(regex, "");
console.log(result);
Run Code Online (Sandbox Code Playgroud)
如果你愿意使用像jQuery这样的库,你可以这样做:
console.log($('<p>test</p>').text());
Run Code Online (Sandbox Code Playgroud)
jsd*_*sdw 32
这是一个老问题,但我偶然发现它并认为我会分享我使用的方法:
var body = '<div id="anid">some <a href="link">text</a></div> and some more text';
var temp = document.createElement("div");
temp.innerHTML = body;
var sanitized = temp.textContent || temp.innerText;
Run Code Online (Sandbox Code Playgroud)
消毒后现在将包含: "some text and some more text"
简单,不需要jQuery,即使在更复杂的情况下它也不应该让你失望:)
詹姆士
Sah*_*kar 11
这是 HTML 标签和 等的解决方案,您可以删除和添加条件以获取没有 HTML 的文本,并且可以将其替换为任何内容。
convertHtmlToText(passHtmlBlock)
{
str = str.toString();
return str.replace(/<[^>]*(>|$)| |‌|»|«|>/g, 'ReplaceIfYouWantOtherWiseKeepItEmpty');
}
Run Code Online (Sandbox Code Playgroud)
小智 8
这对我有用.
var regex = /( |<([^>]+)>)/ig
, body = tt
, result = body.replace(regex, "");
alert(result);
Run Code Online (Sandbox Code Playgroud)
这是TextAngular(WYSISYG编辑器)的工作方式。我还发现这是最一致的答案,那就是“无正则表达式”。
@license textAngular
Author : Austin Anderson
License : 2013 MIT
Version 1.5.16
// turn html into pure text that shows visiblity
function stripHtmlToText(html)
{
var tmp = document.createElement("DIV");
tmp.innerHTML = html;
var res = tmp.textContent || tmp.innerText || '';
res.replace('\u200B', ''); // zero width space
res = res.trim();
return res;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
160066 次 |
| 最近记录: |