免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2450 | 回复: 16
打印 上一主题 下一主题

关于在在线编辑器内处理远程图片的问题,完成,结贴  关闭 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-06-24 14:11 |只看该作者 |倒序浏览
在线编辑器可以直接把别的网站的网页(文字和图片信息)直接Copy进来处理,但一般编辑器中保存的都是这个图片的链接,当被Copy的网站的图片不存在时,该图片自然不能显示。

这样问题就产生了:能不能直接把被Copy网站的对应图片也copy到服务器中?

答案是肯定的。处理方法是两种不同的解决思路:

1) FCKEditor的解决办法是在Submit的时候默认把编辑器内的全部内容查找一遍,以正则表达式来查找这类的链接,同时通过读这些链接把图片文件Copy到本地服务器,再把这些图片的原有链接替换成本地路径的链接。

这是一个办法。

2) eWebEditor的办法是,手工来做,就是在编辑器的上面专做一个按钮,点击这个按钮后驱动一个事件来把编辑器内现有的图片链接处理成本地服务器路径。

可惜,我从官方下载的程序是ASP的,我看不懂。

我的问题是:

采用第2种方法更能满足绝大多数客户需求。我测试了FCKEditor的这个功能,有时不太稳定。图片替换后的路径有时不对。

但在编辑器上面专做一个按钮,这个事件驱动程序的写法让我困惑了:

1) 用JS来响应Click事件。但文件的读取和写入本地服务器用PHP最好,这两者结合?

2) 用PHP来响应事件,但替换现有编辑器的内容当然要用JS,还是结合的问题。

另,我还没有看到一个自动处理从WORD COPY过来的内容带图片能够自动处理的在线编辑器?

那么,从WORD中COPY文字和图片,图片该如何自动处理呢?

论坛徽章:
0
2 [报告]
发表于 2005-06-27 10:38 |只看该作者

关于在在线编辑器内处理远程图片的问题,完成,结贴

经常碰到过以上的问题,关注中……

论坛徽章:
0
3 [报告]
发表于 2005-06-27 11:09 |只看该作者

关于在在线编辑器内处理远程图片的问题,完成,结贴

尚不知道这个问题的答案

论坛徽章:
0
4 [报告]
发表于 2005-06-28 17:07 |只看该作者

关于在在线编辑器内处理远程图片的问题,完成,结贴

再把这个问题顶上来,关注中,高手方便告诉解决思路?

论坛徽章:
0
5 [报告]
发表于 2005-06-28 17:09 |只看该作者

关于在在线编辑器内处理远程图片的问题,完成,结贴

NAPS,一个文章发布系统的做法,解决思路是在编辑器内容提交内直接替换(当然可配置)。

但我更喜欢在编辑器上做一个按钮来实现,困惑的问题如上....

function checkReplaceImage($text, $addtime, &$add_error_msg)
{
global $naps_config;

$getimgarray = array();
$find = "'src[\s\r\n]?=[\s\r\n]?[\\\]?['|\"]?(.*?\.(jpg|gif|png))[\\\]?['\"]?'si";
if (preg_match_all($find, $text, $matches, PREG_SET_ORDER)) {
$add_error_msg = $naps_lang['article_find_http_file'];
if ($this->;cArticleId <= 0) {
$i = 1;
} else {
$i = 100;
}

$img_search = $img_replace = array();
$makefile = false;
include_once ('./include/naps_image.php');

foreach ($matches AS $value) {
$getimageurl = trim($value[1]);
$pos = strpos(strtolower($getimageurl), $naps_config[www_website_index]."/upload";
if ($pos === false) {
$classImage = new napsImage();
$uplodefilename = '/'.date('Y-m', $addtime).'/naps_'.$addtime.'_'.$i;
if ($imageurl = $classImage->;copyImage($getimageurl, $uplodefilename)) {
$img_search[] = "/".preg_quote($getimageurl, "/"."/";
$img_replace[] = $imageurl;
$add_error_msg .= $naps_lang['article_saved_http_successfully'];
$makefile = true;
} else {
$add_error_msg .= $naps_lang['article_saved_http_error'];
}
} else {
$add_error_msg .= $naps_lang['article_saved_local_file'];
}
$i ++;
}
if ($makefile) {
$text = preg_replace($img_search, $img_replace, $text);
}
} else {
$add_error_msg = $naps_lang['article_not_find_http_file'];
}
return $text;
}

论坛徽章:
0
6 [报告]
发表于 2005-07-06 13:32 |只看该作者

关于在在线编辑器内处理远程图片的问题,完成,结贴

自己顶上来,重新问

论坛徽章:
0
7 [报告]
发表于 2005-07-09 13:11 |只看该作者

关于在在线编辑器内处理远程图片的问题,完成,结贴

这个想法。。也是困惑我很长时间了
我觉得有2办法
第1种。就是增加上传图片的按钮。。。提交数据的时候
先上传图片文件,然后对内容进行过滤找到图片连接的 img 标记。。按照顺序用上传的图片替代

第2种,不需要上传图片。
在提交数据的时候,,对内容进行过滤,找到图片的img标记,取到src的值(URL),然后远程提取img数据:使用 imagecreate系列函数,存在本地,然后再替换调原来的img SRc值

论坛徽章:
0
8 [报告]
发表于 2005-07-09 21:28 |只看该作者

关于在在线编辑器内处理远程图片的问题,完成,结贴

我有一个想法,但我没有做过.我们在编辑器里放置一个隐藏的Iframe,src=*.php.就是上传图片程序,其实js在粘贴html就是一个动作,我们利用这个动作,去激活iframe里的上传图片代码,上传完毕后 ifame又传回一些上传信息,告知编辑器上传结果,如果成功上传就替换图片src连接

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
9 [报告]
发表于 2005-07-09 23:19 |只看该作者

关于在在线编辑器内处理远程图片的问题,完成,结贴

如果是完全使用javascript来进行处理,恐怕是没有办法完全处理到word的。
可以结合activex来获取,或者applet也可以,结合Windows的OLE来进行处理。
可参考:http://www.china-dev.com/2005/04/19/12538.html

论坛徽章:
0
10 [报告]
发表于 2005-07-11 01:04 |只看该作者

关于在在线编辑器内处理远程图片的问题,完成,结贴

[quote]原帖由 "mailsyf"]我有一个想法,但我没有做过.我们在编辑器里放置一个隐藏的Iframe,src=*.php.就是上传图片程序,其实js在粘贴html就是一个动作,我们利用这个动作,去激活iframe里的上传图片代码,上传完毕后 ifame又传回一些上传信息,告..........[/quote 发表:


有点意思。。。。。这个办法也可以尝试尝试
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP