如果URL有两个相同的部分,则通过jquery剪切URL

时间:2012-03-20 06:09:43

标签: jquery html

我有这个网址:

http://31839.cateno.vn/Ifor-williams-tilhengere/Ifor-williams-tilhengere/Nullam-vulputate-velit-sed-bibendum-euismod.aspx

我需要它:

http://31839.cateno.vn/Ifor-williams-tilhengere/Nullam-vulputate-velit-sed-bibendum-euismod.aspx

如何通过jquery。

2 个答案:

答案 0 :(得分:5)

您没有说这是否是一个通用问题以及您正在寻找的模式是什么。如果您要做的是删除路径第一段的重复项,那么您可以使用常规javascript执行此操作:

var url = "http://31839.cateno.vn/Ifor-williams-tilhengere/Ifor-williams-tilhengere/Nullam-vulputate-velit-sed-bibendum-euismod.aspx";

var split = url.split("/");
if (split[3] == split[4]) {
    split.splice(3, 1)
}
url = split.join("/");

这里的工作示例:http://jsfiddle.net/jfriend00/5dArW/

如果您尝试删除与任何其他路径部分相同的路径部分,则可以使用此部分:

var url = "http://31839.cateno.vn/Ifor-williams-tilhengere/Ifor-williams-tilhengere/Nullam-vulputate-velit-sed-bibendum-euismod.aspx";

function removeDups(array, start) {
    var index = {}, val;
    start = start || 0;
    for (var i = start; i < array.length; i++) {
        val = array[i];
        if (val in index) {
            array.splice(i, 1);
            --i;
        } else {
            index[val] = true;
        }
    }
}

var split = url.split("/");
removeDups(split, 2);
url = split.join("/");

这里的工作示例:http://jsfiddle.net/jfriend00/QchDZ/

如果你要做的就是删除这个确切字符串"Ifor-williams-tilhengere"的多个路径段(你的评论似乎现在指出了哪一个),那么你可以这样做:

function removeDupSegment(url, dupToLookFor) {
    var split = url.split("/");
    var dupCnt = 0;
    for (var i = 2; i < split.length; i++) {
        if (split[i] == dupToLookFor) {
            ++dupCnt;
            if (dupCnt > 1) {
                split.splice(i, 1);
                --i;
            }
        }
    }
    return(split.join("/"));
}

var url = "http://31839.cateno.vn/Ifor-williams-tilhengere/Ifor-williams-tilhengere/Nullam-vulputate-velit-sed-bibendum-euismod.aspx";
url = removeDupSegment(url, "Ifor-williams-tilhengere");

这里的工作示例:http://jsfiddle.net/jfriend00/tk3zk/

答案 1 :(得分:4)

我发现以下一个衬垫为我工作:

var url = 'http://31839.cateno.vn/Ifor-williams-tilhengere/Ifor-williams-tilhengere/Nullam-vulputate-velit-sed-bibendum-euismod.aspx';
var result = jQuery.unique(url.split('/')).reverse().join('/');