Ueditor处理微信图片

微信图文素材中的图片不允许外链

在结合使用百度编辑器时,总结了一个插件

修复了在外部网站中,不能显示微信图片的问题

附代码,使用百度编辑器时,可以直接引入。

/**
 * @author Cai
 */

UE.plugins.wximage =
function() {

    var u = baidu;
    var a = this
      , c = u.editor.ui
      , b = u.editor.dom.domUtils;

    function strip_stack_span(html) {
        var docObj = $(‘<div>‘ + html + ‘</div>‘);
        docObj.find(‘li,colgroup,a‘).each(function() {
            if ($.trim($(this).text()) == "" && $(this).find(‘img‘).size() == 0) {
                $(this).remove();
            }
        }
        );
        var has_secspan = false;
        do
        {
            has_secspan = false;
            docObj.find(‘span:has(span)‘).each(function(i) {
                var innerobj = $(this).find(‘> span‘);
                if (innerobj.size() > 1) {
                    $(this).find(‘span‘).each(function() {
                        if ($.trim($(this).text()) == "") {
                            $(this).replaceWith($(this).html());
                        }
                    }
                    )
                    return;
                }
                else if (innerobj.size() == 0) {
                    return;
                }
                if ($.trim($(this).text()) == $.trim(innerobj.text())) {
                    has_secspan = true;
                    var style = $(this).attr(‘style‘);
                    var innserstyle = innerobj.attr(‘style‘);
                    var newStyle = ‘‘;
                    if (style && style != "") {
                        newStyle += ‘;‘ + style;
                    }
                    if (innserstyle && innserstyle != "") {
                        newStyle += ‘;‘ + innserstyle;
                    }
                    var new_html = ‘‘;
                    $(this).find(‘> *‘).each(function() {
                        if (this.tagName == "SPAN") {
                            new_html += $(innerobj).html();
                        }
                        else {
                            new_html += $(this).prop(‘outerHTML‘);
                        }
                    }
                    );
                    $(this).attr(‘style‘, newStyle).html(new_html);
                }
            }
            );
        } while (has_secspan);return docObj.html();
    }

    a.addListener("beforepaste", function(b, c, g) {
        b = c.html;
        "function" == typeof strip_stack_span && (b = strip_stack_span(b));
        b = $("<div>" + b + "</div>");
        b.find("img").each(function() {
            var a = ""
              , a = this.src && "" != this.src ? this.src :
            $(this).attr("data-src");
            $(this).removeAttr("data-src");
            "undefined" == typeof a || "" == a ? $(this).remove() : (a = a.replace(/http:\/\/mmbiz.qpic.cn/g, "https://mmbiz.qlogo.cn"),
            a = a.replace(/https:\/\/mmbiz.qpic.cn/g, "https://mmbiz.qlogo.cn"),
            a = a.replace(/http:\/\/mmbiz.qlogo.cn/g, "https://mmbiz.qlogo.cn"),
            a = a.replace(/&wxfrom=\d+/g, ""),
            a = a.replace(/wxfrom=\d+/g, ""),
            a = a.replace(/&wx_lazy=\d+/g, ""),
            a = a.replace(/wx_lazy=\d+/g, ""),
            a = a.replace(/&tp=[a-z]+/g, ""),
            a = a.replace(/tp=[a-z]+/g, ""),
            a = a.replace(/\?&/g, "?"),
            $(this).attr("src", a),
            $(this).attr("_src", a))
        }
        );
        c.html = b.html()
    }
    );

}
;
时间: 2024-10-23 01:02:17

Ueditor处理微信图片的相关文章

微信图片分享遇到 checkArgs fail, thumbData is invalid

该问题主要是微信图片限制32K以内的原因,可将bmpToByteArray方法进行进行改写. 原方法是: /** * 得到Bitmap的byte * @author netcorner * @param bmp * @return */ private byte[] bmpToByteArray(Bitmap bmp) { ByteArrayOutputStream output = new ByteArrayOutputStream(); bmp.compress(Bitmap.Compres

Android 高级UI设计笔记06:仿微信图片选择器

仿微信图片选择器: 一.项目整体分析: 1. Android加载图片的3个目标: (1)尽可能的去避免内存溢出. a. 根据图片的显示大小去压缩图片 b. 使用缓存对我们图片进行管理(LruCache) (2)用户操作UI控件必须充分的流畅. a. getView里面尽可能不去做耗时的操作(异步加载 + 回调显示) (3)用户预期显示的图片尽可能的快(图片的加载策略的选择,一般选择是LIFO). a. LIFO 2. 定义一个Imageloader完成上面1中的3个目标: Imageloader

android之使用GridView+仿微信图片上传功能(附源代码)

由于工作要求最近在使用GridView完成图片的批量上传功能,我的例子当中包含仿微信图片上传.拍照.本地选择.相片裁剪等功能,如果有需要的朋友可以看一下,希望我的实际经验能对您有所帮助. 直接上图,下面的图片就是点击"加号"后弹出的对话框,通过对话框可以根据自己需求进行相片选择. 项目结构: 下面直接上代码. 整体的布局文件activity_main.xml 1 <LinearLayout xmlns:android="http://schemas.android.co

微信图片反防盗链的方法

微信图片反防盗链的方法(此图片来自微信公众平台,未经允许不可饮用) (未找到出处,如有侵犯,请及时告知,谢谢) 因为在<img>标签中引用微信的图片 <?php $img = "http://mmbiz.qpic.cn/mmbiz /ibbmVK4uC7iacR4KGWnyJHvQxl276DK6eGibiafBFTLObjBtKU9hGZoiaaiaD49r4u9otkQzCGAPAbWlPVzrpyCRaCVA/0"; ?> <img src=&quo

微信图片防盗链“此图片来自微信公众平台 未经允许不可引用”的解决方案

前段时间做微信开发时遇到这个 微信官方防盗链问题 页面显示的微信图片会显示:此图片来自微信公众平台 未经允许不可引用 通过查阅官方的API文档,可以很容易地写出获取用户通过公众号上传的图片地址,也可以通过下载图片的API,下载到本地. 但是, 存在的问题是,下载API调用是有次数限制的,直接通过微信图片地址,本地下载,又比较消耗服务器资源. 网上的各种方法都试过了,比如通过中介服务器地址,这种方法有效,但是同样消耗的是服务器资源,而且用第三方的,总感觉不太靠谱,而且图片的打开速度,还是没有保障的

UMEditor(Ueditor mini)修改图片上传路径

UMEditor(Ueditor mini)修改图片上传路径 imageUp.ashx string pathbase = "/UpLoad/images/"; //保存文件夹在网站根目录下 dialogs/image/image.js //修改为 var $img = $("<img src='" + url + "' class='edui-image-pic' />"),//去掉editor.options.imagePath,

模仿微信图片点击全屏效果

转载请注明出处:王亟亟的大牛之路 昨天想着模仿写些什么,然后觉得什么仿京东啊,仿美团之类的外面都有,正好又找到点资源就写了这篇"高仿微信图片放大" 废话不多说,先看下效果: 先是微信的 再是模仿的 包目录 先说下实现原理,再一步步分析 这里总共有2个Activity一个就是主页,一个就是显示我们图片效果的页面,参数通过Intent传送,素材内容均来自网络,(感谢聪明的蘑菇) 图片都是Glide异步下的,下的,下的重要的事情说三次,然后就是用动画做放大操作然后显示出来了(并没有做下载原图

[转]Android 超高仿微信图片选择器 图片该这么加载

快速加载本地图片缩略图的方法: Android 超高仿微信图片选择器 图片该这么加载 其示例下载: 仿微信图片选择器 ImageLoader

Java往事之《百度UEditor插件配置图片上传问题》

百度UEditor插件配置图片上传问题 前言:之前第一次用到UEditor插件的时候,一脸懵逼!没错就是一脸懵逼,去UEditor插件官网下载了一个开发版的.然后对于新鲜技术好奇,本人就迫不及待的把它copy到了我的项目里,运行之后发现鼠标点到输入框里面的时候,什么鬼啊,握了棵草!上传图片的插件置灰了如下图1,一看还有一个多图片上传的插件还在,就赶紧点了一下,点开的那一瞬间我吃了一鲸,如下图2! 图1 图2 很好!下面看一下如何解决这个问题. 1.首先你可以到官网Ueditor,查看很详细的文档