2016-05-30 20 views
1

ich mit Bildern zum Beispiel Text in einem jQuery Zeichenfolge ersetzen möchten:Ersetzen von Text in einem jQuery String

//original string 
str = "This is a message from peter to john"; 

//After replacement 
str = "This is a message from <img src='peter.jpg'> to <img src='john.jpg'>"; 

In PHP kann es wie folgt geschehen:

$string = strtr($str, array('peter'=>'<img src="peter.jpg" />', 'john'=>'<img src="john.jpg" />')); 

Bitte gibt es Eine ähnliche Möglichkeit, dies in jQuery zu tun, genau wie die PHP-Methode. Oder eine bessere Idee, um das zu erreichen?

+0

dies [Antwort] (http://Stackoverflow.com/a/36870625/2645347) zu einer Ihrer vorherigen Fragen ist im Wesentlichen, was Sie suchen – birdspider

+0

Das hat wirklich sehr wenig (wenn überhaupt) mit jQuery zu tun. – pzp

+0

Haben Sie zumindest versucht, dies selbst zu googeln? Dies ist die Art von Frage, die durch eine schnelle Konsultation der JS-Dokumentation gelöst werden kann. – pzp

Antwort

3

Verwendung replace() Methode

var str = "This is a message from peter to john"; 
 
str = str.replace(/\b(?:peter|john)\b/g, "<img src='$&.jpg'>"); 
 
console.log(str)

+1

Ich denke, ich bevorzuge Ihre Methode ist einfacher. Aber was ist, wenn die Texte, die ich ersetzen möchte, einige Zeichen wie folgt haben: "peter;" oder "": john; "Wie entkomme ich dem': 'und'; ' –

+0

@KANAYOAUSTINKANE:'/:(? : peter |: john);/g', –

+0

@KANAYOAUSTINKANE https://regex101.com/r/fC0yZ6/1 –

2

verwenden Javascript replace() Methode wie folgt

var str = "This is a message from peter to john"; 
 
str = str.replace("peter","<img src='peter.jpg'>").replace("john","<img src='john.jpg'>"); 
 
console.log(str);

Verwandte Themen