我正在尝试从正在返回字符串的数据库调用中删除<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
在我的情况下不起作用
有没有办法做到这一点?非常感谢!
答案 0 :(得分:1)
如果我理解正确,您只想删除html标签并将文本保留在客户端?为什么不把它变成一个jQuery对象并使用.text()方法
$(yourstring).text();
除非你想保留其他标签,否则我会发布另一个答案
编辑:
如果您只想删除图像元素,可以使用过滤功能
var newString = $(x).filter(function() {
return this.tagName != 'IMG';
}).text();
技术上$(x).filter(':not(img)').text()
应该有效,但不确定为什么它不是
答案 1 :(得分:0)
如果您使用PHP从数据库返回数据,您是否考虑过strip_tags?它删除了HTML标签(以及PHP!)
或者您正在寻找JavaScript解决方案吗?试试this。还有很多其他PHP函数移植到JavaScript上面了!
答案 2 :(得分:0)
以下是一种删除特定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();
答案 3 :(得分:0)
你可以尝试这样的事情。
$(document).ready(function(){
$("img").each(function(){
var i = $(this).attr("src");
$(".display").append('<p>' + i + '</p>');
});
});
使用附加功能,您可以在html页面中看到结果。