25

我需要从跨度中删除网址的最后一部分..

我有

<span st_url="http://localhost:8888/careers/php-web-developer-2"
st_title="PHP Web Developer 2" class="st_facebook_large" displaytext="facebook"
st_processed="yes"></span></span>

我需要把它拿走st_url并从中移除php-web-developer-2,所以它只是http://localhost:8888/careers/.

但我不知道该怎么做。php-web-developer-2不会总是那样,但它不会有任何/东西。它将始终是一个-分隔的字符串。

任何帮助!???

4

7 回答 7

19

就这么简单:

var to = url.lastIndexOf('/');
to = to == -1 ? url.length : to + 1;
url = url.substring(0, to);
于 2013-03-19T05:43:47.310 回答
12
$('span').attr('st_url', function(i, url) {
    var str = url.substr(url.lastIndexOf('/') + 1) + '$';
    return url.replace( new RegExp(str), '' );
});

演示

于 2012-06-04T19:02:42.207 回答
11

用这个。

$('span').attr('st_url', function(i, url) {
    var to = url.lastIndexOf('/') +1;

    x =  url.substring(0,to);
    alert(x);
})​

可以看Demo

于 2012-06-04T19:13:06.150 回答
10

这是一个稍微简单的方法:

url = url.slice(0, url.lastIndexOf('/'));
于 2019-09-18T15:54:28.370 回答
4

您可以使用正则表达式来解析“最后一段 url”:

var url="http://localhost:8888/careers/php-web-developer";

var baseurl=url.replace(
    new RegExp("(.*/)[^/]+$"),
    "$1") );

RegExp 的事情基本上是说:“匹配任何东西,然后是斜杠,然后是所有非斜杠,直到字符串的末尾”。

replace 函数获取匹配的部分,并将其替换为字符串的“任何内容,然后是斜线”部分。

RegexBuddy有大量关于这一切的信息。

于 2012-06-04T19:11:30.957 回答
2

你可以在这里看到它的工作:http: //jsfiddle.net/xKxLR/

var url = "http://localhost:8888/careers/php-web-developer-2";
var regex = new RegExp('/[^/]*$');
console.log(url.replace(regex, '/'));
于 2012-06-04T19:09:56.050 回答
0

首先,您需要解析标签。接下来尝试提取 st_url 值,这是您的 url。然后从提取的 url 的最后一个字符开始循环并省略它们,直到看到“/”。这就是你应该如何提取你想要的东西。记住这一点并尝试编写代码。

于 2012-06-04T19:03:15.710 回答