如何替换一段HTML中文本的数字
要求:
- 使用jQuery和正则将HTML中(含不同程度嵌套标签)的文本内含有的数字批量替换为其他字符,如*号
- 不能替换标签中的数字
- 不能替换内联样式里的数字
- HTML代码为接口获取,所以不存在给含数字的标签添加相同类进行替换的可能
实现效果示例:
<div>
...
<div>
...
<span style="font-size=20px;">文本文本文本:1232</span>
...
</div>
<h1 style="font-size=18px;">文本文本文本:1232</h1>
...
</div>
替换为
<div>
...
<div>
...
<span style="font-size=18px;">文本文本文本:****</span>
...
</div>
<h1 style="font-size=18px;">文本文本文本:****</h1>
...
</div>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
替换基本只有那一种方式,获取节点文本,用字符串方法处理,重设回原节点。假设通过
getTextNodesIn
方法得到要替换的文本节点数组,则类似:查找上述文本节点则至少有两种方式,一如自己写个递归,筛选出文本节点:
二如用
NodeIterator
或TreeWalker
直接遍历范围内的文本节点(NodeFilter.SHOW_TEXT
):https://developer.mozilla.org...
给所有需要将字符串替换成数字的标签加一个class,比如
然后用jquery获取到这些节点,循环处理就完了