Pobieram ten dziwny adres URL z obiektu na przycisku Twittera:
Muszę pobrać ostatnią część przed „.html”, który w powyższym przykładzie to: spriteslamdunk
Wydaje się to pojawiać po % 2Ftopics% 2F
Nie wiesz, jak to wyodrębnić za pomocą jQuery?
[EDIT] Wygląda na to, że muszę to zrobić za pomocą Regex? Nie zrobiłeś wiele z Regexem w tym zakresie?
3 odpowiedzi
Var answer = url.substring(url.lastIndexOf("%2F") + 3).replace(".html","")
Chyba będziesz musiał użyć wyrażenia regularnego "(\w+)\.html$"
Chcesz pobrać ciąg przed .html
i po ostatnim pojawieniu się %2F
.
Możesz użyć wyrażenia regularnego /%2F([^%]+?)(\.html$)/
. \.html$
dopasowuje ciąg przed ostatnim pojawieniem się; Część ([^%]+?)
pasuje do najkrótszego ciągu, który nie zawiera %
i przed .html
, który jest tym, co chcesz pobrać; %2F
wyklucza ten ciąg w dopasowaniach.
var str = "http://platform.twitter.com/widgets/tweet_button.1329950604.html#_=1330013339435&count=none&hashtags=allstar&id=twitter-widget-10&lang=en&original_referer=http%3A%2F%2Fwww.nba.com%2Fpulse%2Fallstar%2F2012%2Findex.html&related=%40nba&size=m&text=Sprite%20Slam%20Dunk%20Contest%20is%20trending%20on%20NBA%20All-Star%20Pulse%20&url=http%3A%2F%2Fwww.nba.com%2Fpulse%2Fallstar%2F2012%2Ftopics%2Fspriteslamdunk.html"
var matches = str.match(/%2F([^%]+?)(\.html$)/)
matches
// => ["%2Fspriteslamdunk.html", "spriteslamdunk", ".html"]
matches[1] // What you want.
Podobne pytania
Nowe pytania
jquery
jQuery to biblioteka JavaScript, rozważ także dodanie tagu JavaScript. jQuery to popularna biblioteka JavaScript działająca w różnych przeglądarkach, która ułatwia przechodzenie przez Document Object Model (DOM), obsługę zdarzeń, animacje i interakcje AJAX, minimalizując rozbieżności między przeglądarkami. Pytanie oznaczone tagiem jQuery powinno być powiązane z jQuery, więc jQuery powinno być używane przez dany kod i przynajmniej elementy związane z użyciem jQuery muszą znajdować się w pytaniu.