2012-05-23 31 views
2
$str1='<option value="AAA">AAA</option><option value="BBB">BBB</option><option value="CCC">CCC</option>'; 

$str2='<option value="CCC">CCC</option><option value="DDD">DDD</option>'; 

我希望如下的預期結果。如果$str2的一部分與$str1的一部分重複,則刪除$ str2的重複部分。如何通過比較Jquery或Javascript中的兩個字符串來刪除字符串的重複部分

預期結果:

$expectedStr = '<option value="DDD">DDD</option>'; 

誰能幫助我?

回答

2
var str1='<option value="AAA">AAA</option><option value="BBB">BBB</option><option value="CCC">CCC</option>', 
    str2='<option value="CCC">CCC</option><option value="DDD">DDD</option>', 

    result = str2.replace(/<option .+?<\/option>/g, function(m) { 
     return (str1.indexOf(m) > -1)? "" : m; 
    }); 

console.log(result); //returns <option value="DDD">DDD</option> 

(在這裏我假設你要檢查 「原子」 子<option>...</option>

例小提琴:http://jsfiddle.net/jAyAE/