Javascript $\u使用PHP和&;

Javascript $\u使用PHP和&;,javascript,Javascript,我有个问题。我制作了一个PHP代理,使用以下代码从外部服务器获取json数据: <?php $url = $_GET['url']; $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); $data = curl_exec($ch); curl_close($ch); echo("<h1>".$url."</h1>"); echo (substr($data,0,-1)); ?> 但我必须通

我有个问题。我制作了一个PHP代理,使用以下代码从外部服务器获取json数据:

<?php 
$url = $_GET['url'];

$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
$data = curl_exec($ch);
curl_close($ch);

echo("<h1>".$url."</h1>");

echo (substr($data,0,-1));

?>


但我必须通过这个链接“http://isohunt.com/js/json.php?ihq=ubuntu&sort=age“由于我有一个&在那里,我的php脚本无法正确计算链接。如何解决此问题?

在通过URL GET参数将目标URL传递给脚本之前,请使用
urlencode()
对其进行编码(或根据目标URL进入位置的等效代码)

当您检索
$\u GET['url']
时,编码将自动反转,留下原始(所需)url。(昆汀在这里纠正了我的错误,这是我的荣幸)


希望这会有所帮助。

在通过URL GET参数将目标URL传递给脚本之前,请使用
urlencode()
(或者根据目标URL进入的位置,使用等效代码)对其进行编码

当您检索
$\u GET['url']
时,编码将自动反转,留下原始(所需)url。(昆汀在这里纠正了我的错误,这是我的荣幸)


希望这有帮助。

使用
urlencode
生成链接,例如

echo '<a href="http://example.com/my-script.php?url="';
echo url_encode( $url );
echo '">click here</a>';
echo';
哪个应该输出

<a href="http://example.com/my-script.php?url=http%3A%2F%2Fisohunt.com%2Fjs%2Fjson.php%3Fihq%3Dubuntu%26sort%3Dage">click here</a>

使用
urlencode
生成链接,例如

echo '<a href="http://example.com/my-script.php?url="';
echo url_encode( $url );
echo '">click here</a>';
echo';
哪个应该输出

<a href="http://example.com/my-script.php?url=http%3A%2F%2Fisohunt.com%2Fjs%2Fjson.php%3Fihq%3Dubuntu%26sort%3Dage">click here</a>

当您的数据中有一些字符在URI中具有特殊意义时(例如
&
),您可能无法对它们进行编码(如该特定字符的
%26

因为您正在标记这个jquery ajax:停止手动构建URI。让jQuery来做:

$.ajax({
  url: "myProxy.php",
  data: { 
    url: "http://isohunt.com/js/json.php?ihq=ubuntu&sort=age" 
  },
  success: function(){
    // yada yada
  }
});

当您的数据中有一些字符在URI中具有特殊意义时(例如
&
),您可能无法对它们进行编码(对于该特定字符为
%26

因为您正在标记这个jquery ajax:停止手动构建URI。让jQuery来做:

$.ajax({
  url: "myProxy.php",
  data: { 
    url: "http://isohunt.com/js/json.php?ihq=ubuntu&sort=age" 
  },
  success: function(){
    // yada yada
  }
});

在将URL传递给URL参数之前,请尝试进行URL编码。如果你想快点,请使用下面提到的链接


在将URL传递给URL参数之前,尝试对URL进行编码。如果你想快点,请使用下面提到的链接


$\u GET
将自动解码URL(这就是关键所在)。问题是它们一开始就没有被编码@昆汀,谢谢-啤酒和啤酒不能混在一起。这就像现在皮带下的10次编辑:$…
$\u GET
将自动解码URL(这就是关键所在)。问题是它们一开始就没有被编码@昆汀,谢谢-啤酒和啤酒不能混在一起。这就像现在皮带下的10次编辑:$…可能的重复可能的重复