2012-12-25 40 views
0

在.php()中可以使用像preg_match_all在PHP中捕捉幾個地方在文本匹配模式的文本?我可以使用.match()來匹配文本出現的多個地方嗎?

現在我有上試:

<div> 
    <span> 
    one something 1 $2502 
    </span><br /> 

    <span> 
     one something 2 
    </span><br /> 

    <span> 
     one something 3 $25102 
    </span><br /> 
</div> 

我使用以下模式:/>([^<>]*\$\s*(\d+\.?\d+)[^<>]*)</但結果總是第一個跨度。

var priceArr = completetext.match(/>([^<>]*\$\s*(\d+\.?\d+)[^<>]*)</); 
alert(priceArr); 

回答

0
var match = []; 
match[0] = []; 
match[1] = []; 
match[2] = []; 

'YOUR TEXT'.replace(/>([^<>]*\$\s*(\d+\.?\d+)[^<>]*)</ig, function() { 
    match[0].push(arguments[0]); 
    match[1].push(arguments[1]); 
    match[2].push(arguments[2]); 

    return arguments[0]; 
}); 

你得到的結果變量匹配 - 的console.log(比賽)

http://jsfiddle.net/SkXCG/

+0

請告訴我更換了? –

+0

遍歷匹配 – salexch

+0

你的解決方案可能會工作,但應該有一些不涉及使用替換,或預定義像這樣的匹配數組 - 每個東西。或者同時..我想我會開始一個新的問題具體爲 –

相關問題