【问题标题】:Java replace in string html img tagsJava替换字符串html img标签
【发布时间】:2015-03-23 17:25:15
【问题描述】:

我正在解析 json 提要并在 android webview 中显示其内容。一切都很好。但现在我想隐藏那个 android webview 中的所有 img 标签。

问题是 webview 中的内容是动态显示的,这意味着我不知道 img 标签参数。所以我需要一些东西来替换以

开头的字符串中的所有内容
     <img ...  > 

结尾
   </img>

我该怎么做?

【问题讨论】:

    标签: java android html


    【解决方案1】:

    因为这些答案都不适合我,所以我最终决定使用jsoup 过滤和删除所有 img 标签。

    使用 jsop 有点复杂,但是很有效!!

    编辑 这是一个示例java代码

    String content = "<h1>title</h1><img src="http://..."></img>";
    if(content != null) {
        Document document = Jsoup.parse(content);
        document.select("img").remove();
        content = document.toString();
    }
    

    【讨论】:

    • 如何使用jsoup删除图片标签
    • @TasawerKhan 它的文章,如果你愿意,我可以用一个工作示例编辑答案
    • 我找到了解决方案。但是,如果可以的话,那将对其他人有所帮助。
    • 太棒了!我使用了 document.html()
    【解决方案2】:

    如果您自己处理字符串并将其设置为 webview,那么假设您的内容位于名为 oldWebViewContent 的字符串中,请尝试以下操作:

    String webViewContentExcludeImage = oldWebViewContent.replaceAll("<img .*?</img>","");
    

    【讨论】:

    • 谢谢,但没有奏效。可能还有其他解决方案吗?
    • 尝试从您的字符串中删除\noldWebViewContent=oldWebViewContent.replaceAll("\\n","");,然后使用答案中的代码。
    • 总是有可能出现&lt;img src=""/&gt; 之类的东西,这在本示例中不起作用。事实上,img 标签甚至可能根本没有/。由于 HTML 的性质,正则表达式通常不是最好的使用方法。
    • 如果是这种情况,请使用两个 replaceAll 调用。一个如上所述,一个带有 ("", "")
    • 如果它根本没有关闭 (/) 标记怎么办? (在W3C site 上使用)
    猜你喜欢
    • 1970-01-01
    • 2011-06-09
    • 1970-01-01
    • 2016-08-29
    • 1970-01-01
    • 1970-01-01
    • 2021-03-20
    • 1970-01-01
    • 2020-06-07
    相关资源
    最近更新 更多