PbootCMS攻略:UEditor编辑器微信公众号图片本地化

经常遇到要转载微信公众号上发布的文章,文字复制了,但是图片在微信服务器上就出出现无法显示的问题,迫切需要本地化。

尝试过多种办法,分享一种简单可行的办法,对编辑器稍微加以修改即可。

1、找到文件core\extend\ueditor\php\ction_crawler.php文件大约在52行样子。

/* 抓取远程图片 */
$list = array();
if (isset($_POST[$fieldName])) {
    $source = $_POST[$fieldName];
} else {
    $source = $_GET[$fieldName];
}
foreach ($source as $imgUrl) {
    $item = new Uploader($imgUrl, $config, "remote");
    $info = $item->getFileInfo();
    
    // 图片打水印
    $ext = array(
        '.jpg',
        '.png',
        '.gif'
    );
    if (in_array($info['type'], $ext)) {
        resize_img(ROOT_PATH . $info['url']); // 缩放大小
        watermark_img(ROOT_PATH . $info['url']); // 水印
    }
    
    array_push($list, array(
        "state" => $info["state"],
        "url" => $info["url"],
        "size" => $info["size"],
        "title" => htmlspecialchars($info["title"]),
        "original" => htmlspecialchars($info["original"]),
        "source" => htmlspecialchars($imgUrl)
    ));
}

修改为

/* 抓取远程图片 */
$list = array();
if (isset($_POST[$fieldName])) {
    $source = $_POST[$fieldName];
} else {
    $source = $_GET[$fieldName];
}
foreach ($source as $imgUrl) {
    $item = new Uploader($imgUrl, $config, "remote");
    $info = $item->getFileInfo();
    
    // 图片打水印
    $ext = array(
        '.jpg',
        '.png',
        '.gif'
    );
    if (in_array($info['type'], $ext)) {
        resize_img(ROOT_PATH . $info['url']); // 缩放大小
        watermark_img(ROOT_PATH . $info['url']); // 水印
    }
    
    array_push($list, array(
        "state" => $info["state"],
        "url" => $info["url"],
        "size" => $info["size"],
        "title" => htmlspecialchars($info["title"]),
        "original" => htmlspecialchars($info["original"]),
        "source" => htmlspecialchars_decode($imgUrl)
    ));
}

主要修改的地方:"source" => htmlspecialchars($imgUrl),修改为"source" => htmlspecialchars_decode($imgUrl)。

2、找到文件core\extend\ueditor\php\Uploader.class.php(大约)第173行,private function saveRemote()函数。

 $imgUrl = htmlspecialchars($this->fileField);
 $imgUrl = str_replace("&", "&", $imgUrl);

下增加对微信图片的判断。

 $imgUrl = htmlspecialchars($this->fileField);
 $imgUrl = str_replace("&", "&", $imgUrl);
		
		//增加对微信图片的判断
		if(strpos($imgUrl,'https://mmbiz.qpic.cn')!==false){
			$newstr = strtolower(strrchr($imgUrl,'?'));
			$imgUrl = str_replace($newstr,'.jpg',$imgUrl);
		}

‘.jpg’可以改为你喜欢的后缀,一般浏览器都能识别的。

到此处over,清理本地缓存,复制——粘贴,试试看本地化了没有?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值