javascript # 39;年代“unescape"在PHP中
Javascript's "unescape" in PHP
我有一个谷歌Chrome扩展为我的图像主机,它发送一个URL到我的网站。该URL通过Javascript的escape
方法对进行编码。
由escape
编码的URL看起来像这样:
http%253A//4.bp.blogspot.com/-xa4Krfq2V6g/UF2K5XYv3kI/AAAAAAAAAJg/8wrqZQP9ru8/s1600/LuffyTimeSkip.png
我需要通过PHP以某种方式使URL恢复正常,因此我可以对filter_var($the_url, FILTER_VALIDATE_URL)
进行检查,如果URL如上所述,它显然会失败。
这是Javascript的样子:
function upload(img) {
var baseurl="http://imgit.org/remote?sent-urls=1&remote-urls=" + escape(img.srcUrl);
uploadImage(baseurl);
}
function uploadImage(imgurl) {
chrome.tabs.create({
url: imgurl,
selected: true
});
}
var title = "Upload this image to IMGit";
var id = chrome.contextMenus.create({"title": title, "contexts": ['image'], "onclick": upload});
这是我在PHP中做的:
if (!filter_var($file, FILTER_VALIDATE_URL) || !filter_var(urldecode($file), FILTER_VALIDATE_URL))
{
throw_error('The entered URLs do not have a valid URL format.', 'index.php#remote'); break;
}
坦率地说,urldecode()
不适合我。正如你所注意到的,我通过$_GET
接收URL。
实际问题:我如何unescape在PHP中转义的URL ?有更好的方法来处理这个问题吗?
您需要使用encodeURIComponent
而不是escape
:
function upload(img) {
var baseurl="http://imgit.org/remote?sent-urls=1&remote-urls=" + encodeURIComponent(img.srcUrl);
uploadImage(baseurl);
}
然后,您可以在PHP中使用urldecode
来获得您想要的结果。
escape
vs. encodeURI
vs. encodeURIComponent
的解释
For send in Javascript:
var baseurl="http://imgit.org/remote?sent-urls=1&remote-urls=" + encodeURIComponent(img.srcUrl);
PHP代码
$url = urldecode($_GET["my_url"])
相关文章:
- 使用php或javascript从facebook相册URL中删除多余的部分
- 将PHP变量传递给jQuery时遇到问题
- 如何摆脱"压缩/块”;PHP页面底部的注释
- PHP无法显示带有“”的项目'"在他们身上
- 我正在使用php includes来构建一个多页面网站.使用jquery,我将如何添加一个类"活动的”;添加到
- "如何使用jQuery's form.serialize但排除空字段"不起作用(使用php)
- 如何在Wordpress文件中添加自定义javascript代码"single.php”;
- 什么是“;php://input"意思是
- 当我运行返回()时"":""Javascript中的语法,只有当我将文件保存为PHP
- "SyntaxError:JSON.parse:意外字符"将多个变量从AJAX传递到PHP时出错
- "消息发送”;PHP和JS的确认弹出窗口
- 像在PHP中一样,在jQuery中执行单引号(')和双引号(quot;)的工作
- 如何显示双引号""在php中
- "X-请求-带“;header已设置,但不在php中
- "更多“;按钮使用AJAX和PHP
- 如何在Javascript代码中使用变量Ex:src="htp://www.url.com/file.php?
- Challenge: PHP, JQuery, Javascript, HTML Checkbox Price Quot
- 如何使用php函数"file_get_contents"服务器发送事件来监视服务器上文件的修改
- 定位并使用<李><img src=“"></李>使用PHP
- 如何让PHP回显“; 〃;作为javascript的纯文本,并且不具有" 〃;创建一条新行