3

I need this:

Input

<div>some text [img]path_to_image.jpg[\img]</div>
<div>some more text</div>
<div> and some more and more text [img]path_to_image2.jpg[\img]</div>

Output

<div>some text <img src="path_to_image.jpg"></div>
<div>some more text</div>
<div>and some more and more text <img src="path_to_image2.jpg"></div>

This is my try and also fail

var input  = "some text [img]path_to_image[/img] some other text";
var output = input.replace (/(?:(?:\[img\]|\[\/img\])*)/mg, "");
alert(output)
//output: some text path_to_image some other text

Thanks for any help!

4 Answers 4

6

A regexp like

var output = input.replace (/\[img\](.*?)\[\/img\]/g, "<img src='$1'/>");

should do

The ouptut of your test is then some text <img src='path_to_image'/> some other text

Sign up to request clarification or add additional context in comments.

Comments

4

You don't need a regex, just do:

var output = input.replace ("[img]","<img src=\"").replace("[/img]","\">");

Comments

1

Your input example terminates with [\img] not [/img] as your RE searches for.

var input  = '<div>some text [img]path_to_image.jpg[\img]</div>\r\n'
    input += '<div>some more text</div>\r\n'
    input += '<div> and some more and more text [img]path_to_image2.jpg[\img]</div>'

var output = input.replace(/(\[img\](.*)\[\\img\])/igm, "<img src=\"$2\">");
alert(output)

:

<div>some text <img src="path_to_image.jpg"></div>
<div>some more text</div>
<div> and some more and more text <img src="path_to_image2.jpg"></div>

Comments

0

Here's my solution

var _str = "replace 'something' between two markers" ;
// Let both left and right markers be the quote char.
// This reg expr splits the query string into three atoms
// which will be re-arranged as desired into the input string
document.write( "INPUT : " + _str + "<br>" );
_str = _str.replace( /(\')(.*?)(\')/gi, "($1)*some string*($3)" );
document.write( "OUTPUT : " + _str + "<br>" );

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.