2014-01-27 19 views
0

使用正則表達式從輸入聯繫我需要從這個輸入的打擊可以在javascript

<input value="Edit" onclick="QuickEditPost('post_message_1557437','81432','editpost.php?tid=81432&amp;pid=1557437');bookmarkscroll.scrollTo('post_message_1557437');" type="button"> 

提取editpost.php?tid=81432&amp;pid=1557437並通過的JavaScript或jQuery的

我使用這個代碼的價值添加到<a>標籤在谷歌瀏覽器擴展

所以最終結果將是這樣的頁面中的每個輸入

<input value="Edit" onclick="QuickEditPost('post_message_1557437','81432','editpost.php?tid=81432&amp;pid=1557437');bookmarkscroll.scrollTo('post_message_1557437');" type="button"> 

<a href="editpost.php?tid=81432&amp;pid=1557437">Edit</a> 

中的jsfiddle http://jsfiddle.net/Jim_Toth/xHZ99/

結果我需要的代碼http://jsfiddle.net/Jim_Toth/xHZ99/1/

+0

你有HTML作爲一個字符串或DOM對象? –

回答

1

像這樣的東西可能會奏效:

var htmlAsString = document.body.innerHTML; 

document.body.innerHTML = htmlAsString.replace(
    /QuickEditPost\('post_message_(\d+)','(\d+)'[^>]*>/g, 
    function (n0, n1, n2) { 
     return n0 + 
      '<a href="editpost.php?tid=' + n2 + '&amp;pid=' + n1 + '">Edit</a>'; 
    } 
); 

JSFiddle

然而要注意正則表達式解析HTML不通常是一個好主意,除非你控制着輸入。