我正在尝试从返回字符串的DB调用中删除<img>标记。
字符串示例如下所示
dummy textdummy text dummy text dummy text dummy text
<img src='text.jpg'/>
dummy textdummy text
<img src='text1.jpg'/>dummy textdummy text dummy textdummy text
dummy textdummy text
<img src='text3.jpg'/>image tag和image src的位置可以改变,但主要目的是删除<img>标签。
replace在我的情况下不起作用
有什么方法可以做到这一点吗?非常感谢!
发布于 2012-12-06 05:35:46
如果我理解正确的话,您只是想删除html标记,而将文本保留在客户端?为什么不直接将其转换为jQuery对象并使用.text()方法
$(yourstring).text();http://jsfiddle.net/DDjFz/
除非你想保留其他标签,否则我会发布另一个答案
编辑:
如果您只想删除图像元素..您可以使用filter函数
var newString = $(x).filter(function() {
return this.tagName != 'IMG';
}).text();http://jsfiddle.net/47bcJ/
从技术上讲,$(x).filter(':not(img)').text()应该可以工作,但不确定为什么它不能工作
发布于 2012-12-06 05:28:48
如果您使用PHP从数据库返回数据,您是否考虑过strip_tags?它删除了HTML标记(也删除了PHP!)
或者您正在寻找JavaScript解决方案?试试this。
发布于 2012-12-06 05:44:22
下面是一种删除特定img元素的方法:http://jsfiddle.net/DDjFz/2/
<img src='http://placekitten.com/g/200/300'/>
<ul>
<li>dummy textdummy text dummy text dummy text dummy text <img src='http://placehold.it/350x150'/></li>
<li>dummy textdummy text <img src='http://placekitten.com/200/300'/></li>
<li>dummy textdummy text dummy textdummy text dummy textdummy text <img src='http://lorempixel.com/400/200/'/></li>
</ul>使用以下脚本:
$('li > img').remove();如果你想把它们全部删除,你只需要使用:
$('img').remove();https://stackoverflow.com/questions/13732703
复制相似问题