Javascript PHP字符串正在将空格更改为+符号。需要解码以保留空格
我有下面的代码,它放置了一个会话代码3888,这样当用户brwosers到没有会话代码的URL时,他们就会被重定向。如果URL中有代码,页面将继续加载 问题在于,在输出javascript变量时,代码将我的URL空格更改为+符号: 例子: 这 非洲&品牌=三星&型号=S5 更改: 那么现在varJavascript PHP字符串正在将空格更改为+符号。需要解码以保留空格,javascript,php,redirect,urldecode,Javascript,Php,Redirect,Urldecode,我有下面的代码,它放置了一个会话代码3888,这样当用户brwosers到没有会话代码的URL时,他们就会被重定向。如果URL中有代码,页面将继续加载 问题在于,在输出javascript变量时,代码将我的URL空格更改为+符号: 例子: 这 非洲&品牌=三星&型号=S5 更改: 那么现在var var region= getURLParameter('region'); 打印为南非+非洲,而不是南非 要解码URL以保留空格吗 以下是PHP代码: <?php session_st
var region= getURLParameter('region');
打印为南非+非洲,而不是南非
要解码URL以保留空格吗
以下是PHP代码:
<?php
session_start();
$self = "{$_SERVER['PHP_SELF']}?{$_SERVER['QUERY_STRING']}";
if(!empty($_GET['mine']) && $_GET['mine'] == "3888" ) {
unset($_GET['mine']);
$qs = http_build_query($_GET);
$self = "{$_SERVER['PHP_SELF']}?{$qs}";
$_SESSION['mine'] = 1;
header("Location: $self");
exit;
} elseif (!isset($_SESSION['mine'])) {
header('Location: http://redirectedpage.com');
exit;
}
session_unset();
session_destroy();
session_write_close();
?>
我已经将其作为javascript代码:
<script>
function getURLParameter(name){return decodeURI( (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1] || '' );}</script>
这似乎不能解决它。。。我可以在PHP代码中的某个地方使用urldecode吗?如果没有PHP代码,我所有的变量都可以完美地解释。您可以使用JS的replace函数:
var region = region.replace("+", "%20");
更多信息请访问。我找到了一个解决方案:
$self=str_replace+,$self 非常感谢您的回复!唯一的问题是我有一个带有多变量的大字符串,并且不是所有的都是通过javascript变量调用的。有些是使用如下代码输出的:document.writegetURLParameter'region'是否可以简单地从URL中删除所有+符号?