1
我有一個錨點,我想用JavaScript/jQuery動態更改href中的參數。業務案例是我打電話給我的Rails控制器上的bit.ly API,在url =後縮短substring的子字符串,並將較小的url重新插入到Twitter和LinkedIn共享中。更改Twitter或Linkedin內的參數
我想用正則表達式來抓取我想改變的參數,然後重新插入新參數到字符串中的相同位置。
這是原始的href,但正則表達式我沒有處理url = Twitter和Linkedin參數中有多個&符號(子參數)的情況。
var hrefattribute = "https://twitter.com/share?"
+ "url=http://192.168.0.100:3001/hbookmarks/pubhistoryfortoday?currentdate=2015-04-04&username=soysoys&text=open the bookmarks I clicked on 2015-04-04."
我的JS代碼,以便獲得url =參數:(我是從另一個文章#1的代碼 - 抱歉,我不記得在這裏鏈接到它)
var hrefattribute_url = hrefattribute.match(/([\?&])(url=)[^&#]*/)[0];
我的代碼重新插入更新URL =參數:
$('.pubhistoryfortoday_share').prop('href', function(i, action){
return action.replace(/([\?&])(url=)[^&#]*/, '$1$2' + short_url);
});
感謝。我不是RegEx專家,它正在慢慢回來。但我不想縮短&text =及以後,只有url =部分。在我的初始文章中,正則表達式只在url = substring中的第一個Ampersand處停止,並且我需要它一直到username = mtm的末尾。謝謝。 – kram1021 2015-04-05 15:23:25
因此,問題在於您還希望將其他人造對象網址連接到縮短的網址? – 2015-04-05 15:26:29
是的。我應該把最終狀態href放在原始文章中。所以我希望它看起來像這樣:'「https://twitter.com/share?url=http://bit.ly/12345678&text=打開我點擊的書籤2015-04-04。」' – kram1021 2015-04-05 15:47:32