在ckeditor中插入图片时,网址输出为http://site.com/image/data/004 - Copy.jpg
而不是http://site.com/image/data/004%20-%20Copy.jpg
请记住,图片会在网站上正常显示,但当我想发送电子邮件时,电子邮件客户端(例如gmail)会将网址文件名编码为http://site.com/image/data/004+-+Copy.jpg
并返回404。
我可以用rawurlencode()解决这个问题,但我似乎无法找到添加它的位置。有任何想法吗?
修改 我找到了编辑的位置(filemanager.tpl)
window.opener.CKEDITOR.tools.callFunction(<?php echo $fckeditor; ?>, '<?php echo $directory; ?>' + $(this).find('input[name=\'image\']').attr('value'));
如何使用rawurlencode对$(this).find('input[name=\'image\']').attr('value')
进行编码?
答案 0 :(得分:3)
显然,你不能直接使用PHP的rawurlencode
,但你可以通过实现自己的JavaScript函数来即兴创作......
function rawurlencode (str) {
return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').
replace(/\)/g, '%29').replace(/\*/g, '%2A');
}
和...
rawurlencode($(this).find('input[name=\'image\']').attr('value'));