javascript - 从主题标签网址中删除最后的 '/' 字符

标签 javascript php

我遇到了无法应用 htaccess 的情况,尤其是此 URL:

www.site.com/#hash

它会触发一个重要的js函数。

一些引荐来源网址正在将流量发送到 www.site.com/#hash/<-- 请注意尾部斜杠

我需要一个快速修复解决方案(PHP 将是我的第一选择,JS 第二),它将从 URL 中删除任何最后的“/”,同时保留任何类型的哈希(例如,/#hash1、#hash2、 #otherhash 等)完好无损。

我已经尝试了几十种方法,但到目前为止我仍然没有找到一种好方法来仅定位/修改/删除“/”而没有其他内容。

例如,我很确定这可行:

$url = preg_replace('{/$}', '', $url);

...但我不知道如何将其瞄准浏览器地址栏中的实际网址。

并且,以 JS 为例,伪代码:

if (window.location.hash.CONTAINS == '/') {window.location.hash = ''}

在这种情况下,我无法弄清楚如何仅定位末尾可能的“/”。

最佳答案

这是PHP无法解决的问题。您必须使用 JavaScript。

使用String.prototype.indexOf() :

if (location.hash.indexOf('/') != -1) {
    // remove the slash
    location.hash = location.hash.replace('/', '');
}

如果需要特别是最后一个斜杠:

if (location.hash.substr(-1) == '/') {
    location.hash = location.hash.slice(0, -1);
}

关于javascript - 从主题标签网址中删除最后的 '/' 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21791222/

相关文章:

javascript - 如何在模态弹出窗口中显示 JSP 页面?

php - 在 PHP 中获取时间滴答

php - Mysql两表join查询执行需要时间(每表4000条记录)

php - 调用 DoReferenceTransaction 方法给出错误

php - Html 链接 <a> 未正确包装 <div> 元素

javascript - eventmap 中的 _.debounce 和 Iron.controller()

javascript - 合并 JavaScript 数组

c# - 如何在点击ASP日历日期时显示Popup窗体?

javascript - 什么是 replaceAll 性能 secret ? [HTML 转义]

php - 将原始 PHP 站点转换为 Laravel