Pablo
Pablo

Reputation: 45

Replace all characters except first one and whitespaces

Hi I trying do something like that:

I've got some string - 'Hello World!' for example. And I want replace all character in it except the first one and white spaces.

so... result will be: "H.... ......"; I don't want delete it, just replacing with "." or other character.

I tried doing this with preg_replace but with no results.

Upvotes: 3

Views: 3372

Answers (2)

SilentGhost
SilentGhost

Reputation: 320019

preg_replace('/(?<!^)\S/', '.', $s)

Upvotes: 0

You can do it like so:

$hidden = preg_replace('/(?!^)\S/', '.', $text);

It works by ensuring that we aren't at the beginning of the string with a negative lookahead for the start of string anchor, then matches a non-whitespace character using the negated whitespace character class.

Upvotes: 9

Related Questions