PbootCMS实现后台编辑器微信公众号图片本地化
为了实现PbootCMS后台编辑器将微信公众号上的图片本地化,可以按照你提供的方法进行修改。以下是详细的步骤和修改内容:
1. 修改 coreextendueditor/phpction_crawler.php
文件
原始代码
/* 抓取远程图片 */ $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) )); }
2. 修改 coreextendueditor/php/Uploader.class.php
文件
原始代码
private function saveRemote() { $imgUrl = htmlspecialchars($this->fileField); $imgUrl = str_replace("&", "&", $imgUrl); }
修改后的代码
private function saveRemote() { $imgUrl = htmlspecialchars($this->fileField); $imgUrl = str_replace("&", "&", $imgUrl); // 增加对微信图片的判断 if (strpos($imgUrl, '网址') !== false) { $newstr = strtolower(strrchr($imgUrl, '?')); $imgUrl = str_replace($newstr, '.jpg', $imgUrl); } }
3. 清理缓存并测试
- 清理缓存:确保清理浏览器缓存,以确保加载的是最新的代码。
- 测试:复制微信公众号的文章并粘贴到PbootCMS后台编辑器中,查看图片是否成功本地化。
注意事项
- 安全检查:确保修改后的代码不会引入新的安全漏洞,如XSS攻击等。
- 兼容性测试:测试不同类型的图片链接,确保所有图片都能正确本地化。
- 备份代码:在进行任何修改之前,备份原始代码,以便在出现问题时能够恢复。
通过以上步骤,你应该能够成功实现PbootCMS后台编辑器将微信公众号上的图片本地化。如果在操作过程中遇到任何问题,可以进一步调试或参考官方文档。