javascript - Wordpress url 中的 & 或 & 是正确的方法

标签 javascript php wordpress redirect

正如我所发现的,这给我的登陆页面带来了问题($tab 将变量堆栈获取为 ['amp;tab'] 而不是 ['tab'] ):

wp_redirect("admin.php?page=booking-manager&tab=customers");

如果我调试它:

$tab = isset($_GET['tab']) ? $_GET['tab'] : "";
echo nl2br(print_r($_REQUEST, TRUE));
die("TAB:$tab");

我得到:

Array
(
[page] => booking-manager
[amp;tab] => customers
)
TAB:

所以我必须在不使用“&”的情况下使用它才能使 if 工作:

wp_redirect("admin.php?page=booking-manager&tab=customers");

对于 onClick 和 FORM 操作属性,& 符号有效:

单击时:

onClick="window.location.href='<?php print(admin_url('admin.php?page=add-discount&amp;discount_type=1&amp;discount_id=0')); ?>'"

表单操作:

<form action="<?php echo admin_url('admin.php?page=add-customer&noheader=true'); ?>" method="post" id="form1">

我知道对于文本内容,我应该在 HTML 中使用 & 符号:

<p>Tom &amp; Jerry</p>

使其成为 W3C 有效。 但我对 WordPress url 的了解迷失了。另外,从其他 CMS,如 Php-Fusion,我知道他们强制在任何地方都使用 &,并且如果需要,他们会将其 url 解析回 &。

最后一个问题 - 如何 Google 关于 & VS & - 谷歌根本没有给我结果,我不得不使用“& & 符号”,但是仍然 - 如何通过 Google 搜索 Google 能够理解的任何代码。

谢谢你。

最佳答案

& 字符用作 URL 字符串中 key=value 对之间的分隔符,因此转义它会对您的应用程序有害,正如您所见。如果您有一个值包含它,您应该使用 http 编码(例如,使用 urlencode )而不是 html 编码对其进行编码。

因此,例如,如果您想传递带有值 'Tom & Jerry' 的参数 nameurlencode 将生成字符串“汤姆+%26+杰瑞”

关于javascript - Wordpress url 中的 & 或 & 是正确的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32298884/

相关文章:

JavaScript split().join() 千位分隔符替换 .replace() 以在 eBay 上使用

javascript - 对 PHP Websocket 的 PHP 请求

php - 如何在 google map api 信息窗口中添加星级?

php - Mysql sum 和 max 与昨天的数据组合

php - 条件 CSS 停止加载内容

html - CSS :before pseudo element displays one but not both on separate elements

php - Scrolltofixed + 站点菜单 + wordpress 问题

javascript - 将隐藏字段从 Iframe 获取到容器页面

javascript - 需要通过 jQuery 定位元素,请 <3

Javascript 计时器应在 Web 浏览器关闭后继续运行