richeditor-android icon indicating copy to clipboard operation
richeditor-android copied to clipboard

如何设置编辑器添加图片和删除图片的监听?

Open Achenglove opened this issue 6 years ago • 7 comments

Achenglove avatar Jun 02 '18 08:06 Achenglove

解决了吗,同问+1

xiangshaonumber1 avatar Aug 09 '18 07:08 xiangshaonumber1

可以换一种方法实现的,我已经是实现了

Achenglove avatar Aug 30 '18 06:08 Achenglove

@Achenglove 说一说呗

mcxinyu avatar Jan 08 '19 13:01 mcxinyu

@mcxinyu 我提问这个问题的目的是想处理获取提交数据的全部图片的;处理方法是:在getHtml()这个方法获取最终提交的数据,然后通过正则表达式提取全部的图片,然后上传后台

Achenglove avatar Jan 08 '19 13:01 Achenglove

@Achenglove 哦,我倒是想设置监听,还没做好,可能要做 js 交互才行,有实现思路么? 另外你这个方法上传图片之后还要把图片的地址替换到 html 中呢,我是一边选择图片,一边上传的。至于 html 的操作,在 getHtml() 后可以使用 Jsoup 进行处理,这样还可以设置图片的宽高百分比等。

mcxinyu avatar Jan 08 '19 14:01 mcxinyu

richEditor.setOnTextChangeListener(new RichEditor.OnTextChangeListener() { @Override public void onTextChange(String text) { List<String> picList = getImgFromHtml(text); } }); 添加输入框变化监听,然后根据正则找出所有的图片list

public static List<String> getImgFromHtml(String htmlStr) { List<String> list = new ArrayList<>(); String img = ""; Pattern p_image; Matcher m_image; // String regEx_img = "<img.src=(.?)[^>]?>"; //图片链接地址 String regEx_img = "<img.src\s=\s(.?)[^>]?>"; p_image = Pattern.compile(regEx_img, Pattern.CASE_INSENSITIVE); m_image = p_image.matcher(htmlStr); while (m_image.find()) { // 得到数据 img = m_image.group(); // 匹配中的src数据 Matcher m = Pattern.compile("src\s*=\s*"?(.*?)("|>|\s+)").matcher(img); while (m.find()) { list.add(m.group(1)); } } return list; }

yujian016 avatar Mar 10 '20 11:03 yujian016

@Achenglove 哦,我倒是想设置监听,还没做好,可能要做 js 交互才行,有实现思路么? 另外你这个方法上传图片之后还要把图片的地址替换到 html 中呢,我是一边选择图片,一边上传的。至于 html 的操作,在 getHtml() 后可以使用 Jsoup 进行处理,这样还可以设置图片的宽高百分比等。

后面解决了吗?同求。

imlinhao avatar Dec 23 '21 13:12 imlinhao