2011-10-31 22 views
1

私はIMGのSRC
img src属性から文字列を抽出しますか?

<img 
    src="bin/contenthandler.php?fontsize=36&fonttext=apple&fonttype=fonts/FOO.ttf" 
    class="selected content resizable"> 

を次の中から、フォントサイズfonttextとは、fontType値を取ることができるどのように私はそれが正規表現で行うことができると思うが、私は彼らと悪いです。

答えて

4

をクリックしてくださいだろう理想的な、すべての面倒な正規表現を避ける。これは、クエリのすべての変数を持つオブジェクトを返します Parse URL with jquery/ javascript?https://developer.mozilla.org/en/window.location

function buildValue(sValue) { 
    if (/^\s*$/.test(sValue)) { return(null); } 
    if (/^(true|false)$/i.test(sValue)) { return(sValue.toLowerCase() === "true"); } 
    if (isFinite(sValue)) { return(parseFloat(sValue)); } 
    if (isFinite(Date.parse(sValue))) { return(new Date(sValue)); } 
    return(sValue); 
}  
function getVars(url) { 
    var oGetVars = {}; 
    var a = document.createElement('a'); 
    a.href = url; 
    var iCouple, aCouples = a.search.substr(1).split("&"); 
    for (var iCouplId = 0; iCouplId < aCouples.length; iCouplId++) { 
     iCouple = aCouples[iCouplId].split("="); 
     oGetVars[unescape(iCouple[0])] = iCouple.length > 1 ?  buildValue(unescape(iCouple[1])) : null; 
    } 
    return oGetVars; 
} 

console.log(getVars('http://google.com?q=123&y=xyz')); 

: から借用します。
jsFiddle Demo

+0

これまでのところ最高の答えであり、再利用可能です。 – Val

+0

ありがとうございました。 –

1

これで値は36になります。他の2つの答えにもかかわらず

var rx = /fontsize=(.*?)&/; 
var fontsize = rx.exec('<img src="bin/contenthandler.php?fontsize=36&fonttext=apple&fonttype=fonts/FOO.ttf" class="selected content resizable">')[1]; 
2

は、ここに

$('img[src]').each(function (i,n){ 
    var item = $(n).attr('src'); 
    var query = item.split('?'); 
    var items = query.split('&') ; 
    // so now you get the point, u split each item again by the "=" sign :) this is reusable  
    // provided you put it on a function, and it can search to return a specific one, with a little imagination :) 
}); 

別の方法として、URIライブラリを使用することである、代替手段です。

私はこれを何度も使用しており、あなたが望むものを正確に取得し、URI/URL操作に関連するすべてを取得します。ここ

http://medialize.github.io/URI.js/

$('img[src]').each(function (i,n){ 
    var src = $(n).attr('src'); 
    var get_query = URI(src).query() 
    console.log(get_query) 
}); 

いくつかの例を...使用する方法についての

URI("testme?test").query();// returns: test 
URI("testme?a=1&b=2").query(true) // returns: {a: "1", b: "2"} 
URI("testme?font_size=15&font_name=arial").query(true).font_size // 15 

より多くの情報がある...場所のオブジェクトでそれをやってここhttp://medialize.github.io/URI.js/docs.html#accessors-search

関連する問題