jquery Replace

Ако правилно съм разбрал моделът трябва да е подобен на това:
Код:
var asd = "asdasdasd xaxa"; 
var parts = asd.split(' ');
var lastPiece = parts[parts.length-1];
asd = asd.replace( lastPiece, '<img src="'+lastPiece+'.jpg">' );
alert( asd );
 
F1r3Fl3x каза:
Ако правилно съм разбрал моделът трябва да е подобен на това:
Код:
var asd = "asdasdasd xaxa"; 
var parts = asd.split(' ');
var lastPiece = parts[parts.length-1];
asd = asd.replace( lastPiece, '<img src="'+lastPiece+'.jpg">' );
alert( asd );
Не мога да го разбера нещо кодчето :/
Ако по точно ще ме разбереш имам просто един стринг с някакъв текст и вътре имам :) и искам вместо :) да ми изкара картинката :P
 
Сега ще ти го обясня ред по ред:

// Това е стринга, в който искаш да замениш xaxa със <img src="xaxa.jpg">
// Срипта е направен да работи и ако накрая на стринга има blabla и изобщо каквато и да е дума :)
var asd = "asdasdasd xaxa";

// Разделя стринга на масив, като елементите на масива са разделени от стринга с интервал
// масива ще изглежда така в момента : Array( 'asdasdasd', 'xaxa');
var parts = asd.split(' ');

// Тук вадим последният елемент, в случая 'xaxa'
var lastPiece = parts[parts.length-1];

// И накрая заместваме 'xaxa' със '<img src="xaxa.jpg">
asd = asd.replace( lastPiece, '<img src="'+lastPiece+'.jpg">' );

// Тук просто изваждаме резултата :)
alert( asd );

Ако не ти трябва динамичен скрипт да заменя последната дума с картинка, а искаш само това xaxa да се сменя, използвай това:

Код:
var asd = "asdasdasd xaxa";
asd = asd.replace( 'xaxa', '<img src="xaxa.jpg">');
:)
 
До тука ясно, всичко ок обаче излиза един проблем. Ако имам 2 пъти "xaxa" не замества и двете ами само едното :shock:
 
Ev0luti0N каза:
До тука ясно, всичко ок обаче излиза един проблем. Ако имам 2 пъти "xaxa" не замества и двете ами само едното :shock:
Така е направен да работи скрипта :)
Ако има повече от едно xaxa в стринга, правиш така:
Код:
var asd = "asdasdasd xaxa";
asd = asd.replace( /xaxa/g, '<img src="xaxa.jpg">');
:)
 

Back
Горе