簡體   English   中英

使用Java / android讀取和修改html img src值

[英]Read & modify html img src value using Java/android

我有一個Android程序,需要在其中執行以下操作:

我有一個包含以下內容的HTML字符串:

<img src="image.png" />

現在,我需要修改此標簽,如下所示: 將base64編碼的imagedata直接嵌入到-tag中

我能夠實現作者所說的; 我可以將圖像轉換為Base64。

我的問題是我有html字符串,我需要解析該字符串,讀取圖像src值,將圖像數據轉換為byte [],對其進行編碼並重新修改html字符串,然后將其加載到webview中。 最后,我的HTML內容將包含以下行:

<img src=\"data:image/jpeg;base64," + image64 + "\" />

我可以使用哪些Java技術來讀取和修改HTML字符串? 我需要在純Java中完成此操作,而不是使用可用的庫。 我的原始HTML文件是預定義的文件,因此無法創建新的HTML,但是我需要修改現有的HTML文件。 我嘗試使用Html.fromHtml和重寫getDrawable(),但我不知道如何進一步修改html字符串。

您應該使用Pattern和Matcher對象和正則表達式,例如:

public String renderHtml(String body) {
        Pattern pattern = Pattern.compile("[<](/)?img[^>]*[>]");
        Matcher matcher = pattern.matcher(body);
        StringBuilder builder = new StringBuilder();
        int i = 0;
        while (matcher.find()) {
            String replacement = getReplacement(matcher.group(0));
            builder.append(body.substring(i, matcher.start()));
            if (replacement == null)
                builder.append(matcher.group(0));
            else
                builder.append(replacement);
            i = matcher.end();
        }
        builder.append(body.substring(i, body.length()));
        return builder.toString();
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM