opencart - 插入图像的Url编码不正确

时间:2012-12-19 09:04:29

标签: php opencart

在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()解决这个问题,但我似乎无法找到添加它的位置。有任何想法吗? enter image description here

修改 我找到了编辑的位置(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')进行编码?

1 个答案:

答案 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'));