Skyfe
Skyfe

Reputation: 365

JavaScript equivalent for PHP preg_replace

I've been looking for a js-equivalent for the PHP preg_replace function and what I found so far is simply string.replace.

However I'm not sure how to convert my regular expression to JavaScript. This is my PHP code:

preg_replace("/( )*/", $str, $str);

So for example the following:

test   test   test test

becomes:

test-test-test-test

Anyone knows how I can do this in JavaScript?

Upvotes: 35

Views: 75357

Answers (4)

ant_Ti
ant_Ti

Reputation: 2425

var text = 'test   test   test test';
var fixed = text.replace(/\s+/g, '-');

Upvotes: 49

Arseni Mourzenko
Arseni Mourzenko

Reputation: 52311

In JavaScript, you would write it as:

result = subject.replace(/ +/g, "-");

By the way, are you sure you've posted the right PHP code? It would rather be:

$result = preg_replace('/ +/', '-', $str);

Upvotes: 2

Paul Creasey
Paul Creasey

Reputation: 28824

javascripts string.replace function also takes a regular expression:

"test    test  test    test".replace(/ +/,'-');

http://jsfiddle.net/5yn4s/

Upvotes: 6

J0HN
J0HN

Reputation: 26921

See javascript replace function reference.

In your case it is something like

var result = str.replace(/\s+/g, '-');

But that replaces only one space. Working on it now :)

Upvotes: 0

Related Questions