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 の重複部分を削除します。

期待される結果:

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

誰でも私を助けることができますか?

4

1 に答える 1

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/

于 2012-05-23T09:56:53.467 に答える