0

我正在尝试<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在我的情况下不起作用

有没有办法做到这一点?非常感谢!

4

4 回答 4

1

如果我理解正确,您只想删除 html 标签并将文本保留在客户端?为什么不把它变成一个 jQuery 对象并使用 .text() 方法

$(yourstring).text();​

http://jsfiddle.net/DDjFz/

除非您要保留其他标签,否则我将发布另一个答案

编辑:

如果您只想删除图像元素..您可以使用过滤器功能

var newString = $(x).filter(function() {
     return this.tagName != 'IMG';
}).text();

http://jsfiddle.net/47bcJ/

从技术上讲$(x).filter(':not(img)').text()应该可行,但不确定为什么不可行

于 2012-12-05T21:35:46.127 回答
0

如果您使用 PHP 从数据库中返回数据,您是否考虑过strip_tags?它删除了 HTML 标签(和 PHP,也是!)

或者您正在寻找 JavaScript 解决方案?试试这个。还有很多其他的 PHP 函数也移植到了 JavaScript!

于 2012-12-05T21:28:47.540 回答
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();
于 2012-12-05T21:44:22.147 回答
0

你可以尝试这样的事情。

$(document).ready(function(){
    $("img").each(function(){
        var i = $(this).attr("src");
        $(".display").append('<p>' + i + '</p>'); 
    });
});

通过附加,您可以在 html 页面中看到结果。

于 2012-12-05T22:00:59.227 回答