2016-05-04 9 views
1

を働いていない置き換える、Javascriptの検索と私はこのような文字列を持っている

"<?xml version="1.0" encoding="utf-8"?><feed xml:base="https://9999.example.com.us/_vti_bin/MYServices/MYServices.svc/ ... so on ..... 

私はこれらが大きなXML ODATAの応答であると私がしようとしています

"<?xml version="1.0" encoding="utf-8"?><feed xml:base="https://9999.example.com.us/myPart/myPart123/_vti_bin/MYServices/MYServices.svc/ ... so on

、それはこのようにしたいです上記のようにベースURLを置き換えてみましたが、動作しませんでした。

String.prototype.replaceAll = function(find、replace){ var str = t彼の; return str.replace(new RegExp(find.replace(/ [ -/\^$ * + ?.()| [] {}]/g、 '\ $ &')、 'g')、replace); };

string = '<?xml version="1.0" encoding="utf-8"?><feed xml:base=https://9999.example.com.us/_vti_bin/MYServices/MYServices.svc'; 
string = string.replaceAll('<?xml version="1.0" encoding="utf-8"?><feed xml:base=https://9999.example.com.us/_vti_bin/MYServices/MYServices.svc', 
'<?xml version="1.0" encoding="utf-8"?><feed xml:base=https://9999.example.com.us/myPart/myPart123/_vti_bin/MYServices/MYServices.svc'); 
$('#result').html(string); 

更新

私はURLにこの部分を追加したい、 "/ myPart/myPart123 /"

http://jsfiddle.net/cdbzL/509/

答えて

0

たぶん、このサンプルがお手伝いします:

var xml = '<?xml version="1.0" encoding="utf-8"?><feed xml:base="https://9999.example.com.us/_vti_bin/MYServices/MYServices.svc/'; 

xml.replace(/_vti_bin/img, 'myPart/myPart123/_vti_bin'); 

01それを行う機能。 Read more about It

$('#result').html(string)$('#result').text(string)に置き換えてください。あなたのString.prototype.replaceAll = function() {}について

いくつかの単語:

Object-Oriented JavaScript - Second Edition:プロトタイプを通じてビルトインオブジェクトの拡張は、あなたが好きなようでJavaScriptを形作るためにそれを使用することができます 強力な技術であり、。ただし、 の能力があるため、このアプローチを使用する前に、常に というオプションを徹底的に検討する必要があります。その理由は、 JavaScriptを知っていれば、使用しているサードパーティのライブラリやウィジェットである に関係なく、同じ方法で動作することが期待されるからです。コアオブジェクトを変更すると、 はコードのユーザーと管理者を混乱させ、予期しないエラー を作成する可能性があります。

Demo

+0

申し訳ありませんが、これは、このフィドル試してみてください:( – Mathematics

+0

を動作していないようです:私はあなたの答えを受け入れていますhttp://jsfiddle.net/cdbzL/511/完全なサンプル –

+1

とし、私は後でそれをテストします、私のシステムで、ありがとう – Mathematics

関連する問題