2016-05-04 15 views
1

ich eine Zeichenfolge wie diese haben,Javascript Suchen und Ersetzen funktioniert nicht

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

ich es will dies,

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

Dies sind große xml OData Antworten sein, und ich versuche zu Ersetzen Sie Base-URL wie oben, ich habe dies versucht, aber es funktioniert nicht,

String.prototype.replaceAll = Funktion (finden, ersetzen) { var str = t seine; return str.replace (neue RegExp (find.replace (/ [-/\^$ * + ?.() | [] {}]/g, '\ $ &'), 'g'), ersetzen); };

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); 

aktualisieren

Ich will nur diesen Teil der URL hinzuzufügen "/ MyPart/myPart123 /"

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

Antwort

0

Vielleicht wird diese Probe Ihnen helfen:

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'); 

Sie können nur 01 verwendenFunktion, um das zu tun. Read more about It.

Und ersetzen $('#result').html(string) durch $('#result').text(string).

Einige Worte über Ihre String.prototype.replaceAll = function() {}:

Object-Oriented JavaScript - Second Edition: augmentierenden integrierten Objekte durch den Prototyp ist eine leistungsstarke Technik, und Sie es JavaScript in irgendeiner Weise Sie gerne gestalten nutzen können. Wegen seiner Macht sollten Sie jedoch immer Ihre Optionen vor der Verwendung dieses Ansatzes gründlich überlegen. Der Grund dafür ist, dass Sie, sobald Sie JavaScript kennen, davon ausgehen, dass es auf die gleiche Weise funktioniert, unabhängig davon, welche Third-Party-Bibliothek oder Ihr Widget Sie verwenden. Das Ändern von Core-Objekten könnte die Benutzer und Betreuer Ihres Codes verwirren und unerwartete Fehler verursachen .

Demo

+0

leid, aber dies scheint nicht :( – Mathematics

+0

Versuchen Sie, diese Geige zu arbeiten: http://jsfiddle.net/cdbzL/511/ mit vollständiger Probe –

+1

ich akzeptiere Ihre Antwort , aber ich werde es später auf meinem System testen, danke – Mathematics