我需要一个正则表达式的帮助,这将删除所有的html标签和字符串中的字符。
在下面所示的代码中,我使用了oldStr:
单击"Replace"按钮后,我想将oldStr更改为"Hello",并删除"〈"、"〉"以及字符串中显示的任何类型的html标记。
我怎样才能做到呢?
下面是我的代码:
$(document).ready(function(){
var oldStr = '<p><a>Hello</a></p>';
$('#old').text(oldStr);
$('#replaceBtn').click(function(){
var newStr = mystr.replace('<', '');
$('#new').text(newstr);
});
});
div{
height: 50px;
width: 300px;
border: 1px solid grey;
border-radius: 5px;
margin: 10px;
padding: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="old"></div>
<br />
<div id="new"></div>
<br />
<button id="replaceBtn">Replace</button>
4条答案
按热度按时间1wnzp6jl1#
请试试这个
voase2hg2#
尝试下面的代码。https://jsfiddle.net/vineeshmp/do83rje2/
jobtbby33#
0yg35tkg4#
我想这就是你想做的。
快速运行:
将
<
和>
字符转换为更易于阅读的格式。我们这样做是为了更容易地删除标记或其中的任何信息。我确信有一种比像我一样链接方法更快的方法来替换它们,但我刚刚醒来,所以这就是结果。
接下来是正则表达式,它有点混乱,但让我试着解释一下:
"查找不等式符号之间的任何内容,但不要太贪心--匹配找到的第一个或匹配格式为'&(一些单词字符);'",那么我们就用一个空字符串替换任何与之匹配的字符串。剩下的应该只是一个包含元素文本的字符串。
作为一种替代方案,您可能只想遵循前两个
replace
调用,然后只使用Nimish的答案,我觉得这将更加可靠,因为jQuery的HTML解析器比我编写的要好得多。